Многие проекты и сам движок написан с установкой 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
мм...нет :) Только если так?
|
Хороший вариант, но может для движка раз руками прописать инициализацию с проверкой и навсегда)
Спустя 1 минута, 48 секунд (19.10.2011 - 16:57) imbalance_hero написал(а):
denisOg
extract же есть, но лучше вручную всё переписать
extract же есть, но лучше вручную всё переписать
Спустя 2 часа, 27 минут, 39 секунд (19.10.2011 - 19:25) Белый Тигр написал(а):
Вручную нужно всё переписывать. Никаких extract(), а то распрощаетесь с безопасностью.
Кто угодно сможет через URL переобъявлять внутренние переменные, имеющиеся до вызова 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 написал(а):
йеее
Будем знать.
Будем знать.
Спустя 13 секунд (19.10.2011 - 20:09) Winston написал(а):
Ну можно же еще флаг указать EXTR_SKIP
Спустя 8 минут, 28 секунд (19.10.2011 - 20:18) imbalance_hero написал(а):
Белый Тигр
Я был первее
Я был первее
Спустя 21 час, 46 минут, 52 секунды (20.10.2011 - 18:05) denisOg написал(а):
Спасибо за подсказки.
Решил переписать все переменные вручную.
А вообще кто нибудь использует register_globals = ON ?
Решил переписать все переменные вручную.
А вообще кто нибудь использует register_globals = ON ?
Спустя 12 минут, 3 секунды (20.10.2011 - 18:17) imbalance_hero написал(а):
denisOg
конечно нет! Это уязвимость дополнительная для твоего сайта.
конечно нет! Это уязвимость дополнительная для твоего сайта.
_____________
ICQ 444699163
del-denis@rambler.ru
Skype denisOg1
Нужен сайт знакомств, за деньги!