autoglobals - где уязвимость..

Ilia

Guest
register_globals - где уязвимость..

Не раз слышал высказывание, что-де register_globals on - это плохо с точки зрения безопасности. А в чем дело-то ?
 

Yurik

/dev/null
EGPCS
Вот ставишь/проверяешь ты S или С или Р, а я в GET тебе свою строку (например проверку авторизации) вставляю и ....
 

Ilia

Guest
А какая взломщику разница, по какому каналу гнать ложную информацию ?

_СOOKIES, _POST, _GET задаются исключительно клиентом, значит свою строку хакер может подставить в любой из них. Аналогично, часть _SERVER также задается клиентом.
Поэтому, включен параметр register_globals или нет - здесь не важно: безопасность одинаково никакая.

Остальное - а это, вроде, часть _SERVER и _ENV, задается PHP и, несмотря на register_globals on, клиентом не может быть подделана никоим образом.
 

Макс

Старожил PHPClub
register_globals = on позволяет начинающему сделать больше дыр в скрипте чем при register_globals = off
Но, "безопасные" скрипты можно писать и при включенном и при выключенном register_globals. Все дело в квалификации программера
 

Yurik

/dev/null
значит свою строку хакер может подставить в любой из них.
Да? Тогда попробуй при register_globals=off подставить в _$SESSION['authorized'] свое значение.

Все дело в квалификации программера
Вот именно. Более важно напишите ли вы
PHP:
if ($authorized='some_value') echo ('Secret data');

// или
if ($_SESSION['authorized']='some_value') echo ('Secret data');
чем выставите register_globals
 

AnToXa

prodigy-одаренный ребенок
кстати, те 2 условия, что ты написал всегда будут true :)
 

rihad

Guest
Поэтому некоторые считают, что лучше писать
if ('some_value'=$authorized) ...
я не из них :)
 

Ilia

Guest
... Это условие, видимо, будет всегда parse error ... ;))
 

Yurik

/dev/null
Ну не обратил внимания что написал :) Это же не по сути вопроса. (Иногда работаешь в VB и механически коверкаешь синтаксис C)
Да, Parser error там не будет.
 
Сверху