recasher2k12
Гуру форума
- Регистрация
- 19 Фев 2012
- Сообщения
- 156
- Реакции
- 80
Как я понимаю массив $_POST в php, urldecode() здесь не нужен из-за того, что переменные в $_POST передаются уже не в сериализованом виде. То есть, грубо говоря, urldecode() выполняется автоматически в недрах самого php до того, как формируется $_POST.В скриптах, где юзеры отсылают письма ко мне на ящик или на другие email фильтрую так:
Код:/* [!] Stop XSS */ foreach ($_POST as $i => $val) $_POST[$i] = urldecode(htmlspecialchars($val));
htmlspecialchars() преобразует в сущности все спецсимволы (кавычки, слеши и проч.). В вашем случае этой функции хватит.И кстати, какую функцию все же использовать htmlspecialchars или htmlentities ? На сайте кодировка utf-8
htmlentities() преобразует в сущности все спецсимволы и все символы "не-ascii" (например, русские символы). Это бывает полезно, например, когда работаешь на одной странице с разными кодировками.