Фильтрация данных с полей формы

Рейтинг: 0Ответов: 1Опубликовано: 06.02.2015

Всем привет.

Возник такой вопрос: кто как принимает данные с полей формы?

Допустим, пришла инфа с 10 полей, где разные типы данных (числовые, строковые). Делал примерно так: $name = myFilterFunction($_POST['name']);, и так на все 10 полей.

Дело в том, что данная процедура занимает очень много места в коде, да и минус в том, что, к примеру, поля "Имя пользователя" и "Название статьи" фильтруется одинаково, потому что оба строковые, хотя в названии статьи могут быть такие символы, как !"№;%:? и т.д., а в имени, конечно же, нет. Проверять поля JS - думаю, не вариант, т.к. он может быть отключен или его специально отключили.

Кто как фильтрует данные?

Ответы

▲ 1

Ну, во первых, $_GET и/или $_POST - это суть массив $_REQUEST. А раз это массив, то можно упростить себе жизнь так:

function someInputCheck($var) {
if ($var) return @htmlspecialchars($var,ENT_QUOTES);
}
$_REQUEST = array_map("someInputCheck", $_REQUEST);
var_dump($_GET);
var_dump($_POST);
var_dump($_REQUEST);
echo $_REQUEST["c"];

Таким способом можно избежать выполнения JS-кода из переменных, ну и попутно выполнить нужные вам проверки.