Данные, полученные от посетителя сайта, нужно проверять. Это знают все, это постоянно повторяют во всех руководствах по программированию. Но в большинстве случаев сразу после проверки возникает вопрос: «А что делать, если данные не прошли проверку? Вывести сообщение об ошибке? Попытаться их исправить?».
В этой статье я покажу несколько приемов проверки и обработки входных данных.
Но, прежде всего, разберемся, какие типы некорректных данных мы можем получить от пользователя. Их всего два:
1) случайные ошибки;
2) специально сформированные запросы для взлома сайта.
В первом случае нужно объяснить посетителю, как исправить ошибку. Т.е. отправить его на страницу с инструкцией (или показать текст около поля ввода).
Второй случай немного сложнее. Тут главное помнить одно простое правило: «Никогда не доверяй данным, полученным от браузера». И не важно, выполняется ли проверка с помощью JavaScript или нет, имея минимальные знания программирования можно сформировать и отправить любой запрос. Отсюда вывод – все данные должны быть проверены на стороне сервера.
На сегодняшний день наиболее часто применяется два вида атак на сайт. Это SQL Injection и Cross Site Scripting (XSS). Рассмотрим их немного подробнее.
Читать дальше