Проблемы безопасности при очистке массивов (в PHP)? - PullRequest
0 голосов
/ 23 октября 2009

Может кто-нибудь объяснить, почему $_POST= array(); не является эффективным способом сброса вашего суперглобального $ _POST?

Я думал об этом, когда читал этот вопрос .

Будучи массивом, я представляю, что все элементы этого массива, будь то $ _POST или любой другой, будут сброшены при его повторной инициализации.

Ответы [ 4 ]

3 голосов
/ 23 октября 2009

Вы правы, $_POST= array(); полностью сбрасывается $_POST!

Ответы в другом посте связаны с
" как очистить / очистить значения (ий) $_POST".

1 голос
/ 23 октября 2009

Эта строка $_POST=array(); полностью сбрасывает массив $_POST.

Полагаю, на вашей стороне упомянутого вопроса есть недоразумение. Цель этого сценария - не очистить $_POST, а очистить значения.

tscully пытается очистить значения в $_POST (поскольку они вводятся пользователем), чтобы иметь возможность "безопасно" использовать их далее при выполнении операций с БД.

Именно поэтому он использует mysql_real_escape_string (исключает специальные символы в строке для использования в операторе SQL).

0 голосов
/ 23 октября 2009

Насколько я знаю, это сделало бы это. Следует отметить, что это только очищает информацию POST, а не GET. Вопрос, который я должен задать, почему?

0 голосов
/ 23 октября 2009

в чем именно ваш вопрос?

unset ($ _ POST) сбрасывает суперглобальный код, эффективно стирая любые значения в нем.

межсайтовый скриптинг - это такая широкая тема, что вы не сможете выполнить фильтр самостоятельно.

проверьте этот шпаргалку XSS здесь: http://ha.ckers.org/xss.html

+ больше информации о разработке мер против XSS здесь: http://hungred.com/web-development/solutions-crosssite-scripting-xss-attack/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...