[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как уйти от использования на сайте register_global
denisOg
Хочу уйти от использования register_globals = ON в .htaccess .
Многие проекты и сам движок написан с установкой register_globals = ON.
Понимаю что не безопасно их использовать, в 6 версии они будут отключены.

Как побыстрому переписать части движка (дописать), что бы уйти от использования register_globals = ON

Один вариант в header дописывать:
$a=$_GET['a'];
$b=$_POST['b'];
............................
..........................
...........................

Но это очень долго. Может есть более гибкие решения?



Спустя 10 минут, 47 секунд (19.10.2011 - 16:36) alex12060 написал(а):
denisOg

Цитата
Может есть более гибкие решения?


мм...нет :)

Только если так?


foreach($_POST as $key => $val)
$$key = $val;

foreach($_GET as $key => $val)
$$key = $val;

Спустя 3 минуты, 21 секунда (19.10.2011 - 16:39) Winston написал(а):
Или
extract($_POST, EXTR_OVERWRITE);
extract($_GET, EXTR_OVERWRITE);

Спустя 16 минут, 14 секунд (19.10.2011 - 16:56) denisOg написал(а):
Цитата (alex12060 @ 19.10.2011 - 13:36)
denisOg

Цитата
Может есть более гибкие решения?


мм...нет :)

Только если так?


foreach($_POST as $key => $val)
$$key = $val;

foreach($_GET as $key => $val)
$$key = $val;

Хороший вариант, но может для движка раз руками прописать инициализацию с проверкой и навсегда)

Спустя 1 минута, 48 секунд (19.10.2011 - 16:57) imbalance_hero написал(а):
denisOg
extract же есть, но лучше вручную всё переписать smile.gif

Спустя 2 часа, 27 минут, 39 секунд (19.10.2011 - 19:25) Белый Тигр написал(а):
Вручную нужно всё переписывать. Никаких extract(), а то распрощаетесь с безопасностью.
Кто угодно сможет через URL переобъявлять внутренние переменные, имеющиеся до вызова extract()

Спустя 9 минут, 52 секунды (19.10.2011 - 19:35) alex12060 написал(а):
Цитата
Кто угодно сможет через URL переобъявлять внутренние переменные, имеющиеся до вызова extract()


Как? Оо

Спустя 29 минут, 43 секунды (19.10.2011 - 20:05) imbalance_hero написал(а):
alex12060
url = ?mama=fifa&...
php:
$mama = $_GET['mama'];
extract();
echo $mama;

Спустя 1 минута, 32 секунды (19.10.2011 - 20:06) Белый Тигр написал(а):
Цитата
Как? Оо

Берём ссылку script.php?var=1
и код
$var = 2; 
extract($_GET);
echo $var;

Вместо 2 видим 1 т.к. $var объявлена до extract() и в url есть соотв. параметр

Спустя 2 минуты, 45 секунд (19.10.2011 - 20:09) alex12060 написал(а):
йеее smile.gif
Будем знать.

Спустя 13 секунд (19.10.2011 - 20:09) Winston написал(а):
Ну можно же еще флаг указать EXTR_SKIP

Спустя 8 минут, 28 секунд (19.10.2011 - 20:18) imbalance_hero написал(а):
Белый Тигр
Я был первее smile.gif

Спустя 21 час, 46 минут, 52 секунды (20.10.2011 - 18:05) denisOg написал(а):
Спасибо за подсказки.
Решил переписать все переменные вручную.
rolleyes.gif

А вообще кто нибудь использует register_globals = ON ?

Спустя 12 минут, 3 секунды (20.10.2011 - 18:17) imbalance_hero написал(а):
denisOg
конечно нет! Это уязвимость дополнительная для твоего сайта.


_____________
ICQ 444699163
del-denis@rambler.ru
Skype denisOg1
Нужен сайт знакомств, за деньги!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.