FILTER_VALIDATE_BOOLEAN - проверка на булево;
FILTER_VALIDATE_FLOAT - проверка на дробное;
FILTER_VALIDATE_INT - проверка на целое (integer) число;
Группа 1. VALIDATE. Функция filter_var вернет TRUE, если проверка прошла успешно.
..где $valid - уже обработанное значение переменной $not_valid с помощью фильтра FILTER. Вместо "FILTER" нужно подставить одно из следующих значений, разбитых на группы:
$valid =Pfilter_var($not_valid,PFILTER);
Если фильтры есть, то можно их использовать. Я продемонстрирую вам работу функции filter_var:
echo 'Извините, у вас функций фильтрации нет';
echo $filter."<br>\n";P //выводим его
$filters = filter_list(); //получаем список фильтров
if (function_exists('filter_list'))
Чтобы узнать, есть ли они на вашем хостинге, пишем простой скрипт:
Раньше на на фильтрацию бросались силы в виде регулярных выражений (что это за зверь, разжевывать не буду; скажу лишь, что регулярки трудны в освоении, хотя и хороши функционально). В php версии, кажется 5.2, появились функции для фильтрации данных.
Дальше - хуже. В текстовых полях (длина которых позволяет) можно использовать html-теги, а это уже грозит тем, что с вашего самописного сайта начнут появляться ссылочки на чужие ресурсы, причем не в поле "URL", а в поле, например, "Имя". А это нам уже сильно не понравится, и с этим мы будем бороться.
Так вот, если не фильтровать базар то, что вводит юзер, то вместо e-mail'а у него в профиле может возникнуть запись типа "hjashfkasdf", и юзер, естественно, не сможет получить письмо с подтверждением регистрации, рассылку или спам еще что-то.
Есть сайт. Есть какая-то форма (формы) с кучей полей - типа имени юзера, личного сайта, ящика для e-mail-бомбардировки и т.д. Есть какая-то страница, где отображаются введенные данные (самый банальный пример - страница профиля на любом форуме).
Для начала, лирическое отступление. Этот пост пригодится лишь тем, кто пишет сайты на php сам и не использует движки. И, скорее всего, большинству кодеров о фильтрации известно, так что рекомендуется, в первую очередь, новичкам. Итак, поехали.
Сегодня, вкратце, я бы хотел рассказать о фильтрации того бреда, который вводит пользователь в формы на нашем сайте. При этом, использовать регулярные выражения мы лично не будем.
Здравствуйте! Вы попали на личный блог, в котором я пишу все, что мне вздумается. Основные темы, пожалуй, можно определить - интернет, SEO, работа, красивые рисунки, личные отзывы о прочитанном/увиденном. Акцент ставлю на собственный опыт и мысли. В любом случае, я рад, что вы забрели на мой блог и буду еще больше рад, если вам он окажется интересен. Добро пожаловать!
Фильтрация входных данных в PHP . Блог FRUTALITY — HTML, CSS, SEO, личные заметки, интересное, розовые слоны
Комментариев нет:
Отправить комментарий