Кодерастам от кодераста!

Блог программиста » Новости » Программирование

Проверка введённых символов PHP

 

Давно не постил ни чего связанного с программированием. Но сегодня я решил это исправить =)

Все мы значем что такое инъекции на сайте и знаем, что их надо не допускать. Вообщем-то и XSS и SQL-Injection делаются примерно одинаково. Вставляется определённый символ, а дальше необходимый код. Так вот. Этот символ можно пытаться поймать 3мя разными способами:

1. Во время отправки кода

2. Во время получения данных на сервере

3. Можно вообще не ловить, а применить функцию языка программирования.

Лично я для себя выбрал 2й способ. Но я его немного видоизменил. Все переменные что я на сайте получаю, я проверяю всего 1 раз. В самом начале формирования веб-страницы. Делаю я это следующим кодом. Код специально вывел в отдельный файл, что бы было более удобно.

 

Теперь пояснение:

Первая строка это те самые массивы которые мы проверяем. Мне надо проверить и гет, и пост, и даже куки. Именно в этих массивах я буду искать страшные для меня символы. Дальше я пробегаю по всем массивам и всем их элементам проверкай на присутствие 4х опасных символов(комментарии в sql и ковычки). Если где-то они есть, то веб-страница просто выдаст ошибку и дальше формироваться не станет.

Важное замечание, что если на сайте, например, есть комментирование, то пользователь может без злого умысла захотеть вставить там ковычки. На этой странице нужно будет организовать автозамену символа ковычка на текстовый эквивалент. Делать это надо будет с помощью яваскрипта, если нужно, то опишу в следующей статье.

Не забывайте отдыхать, вот пара ссылочек: покер рум партнерская программа и популярные онлайн игры mmorpg