воскресенье, 10 февраля 2013 г.

фильтрование входящих данных регулярное выражение

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, личные заметки, интересное, розовые слоны

Комментариев нет:

Отправить комментарий