четверг, 22 декабря 2011 г.

Проверяем _GET и _POST

Проверяем _GET и _POST

1) Да. Проверяем только _GET и _POST. Кто будет использовать глобальные переменные — руки откушу! Мы не знаем, откуда они появились, через что их передали, где их изменили, и кто за них в ответе. Внутри может быть все, что угодно!

2) Если мы получаем данные GET, то использовать надо $_GET массив, например $_GET['name']. Если POST, то — $_POST. И никак иначе. Все, что пришло наоборот — подозрительная зараза, которая должна быть проигнорирована или уничтожена!

3) Ждем, что передадут число? Обезопасим себя, сделаем все, что передадут, числом: функции intval(); и doubleval();
4) Наше число должно быть целым и в рамках 0-20? $var = abs(floor($var))%>20;

5) Ждем строку длиной не более 20 символов? Это просто:  substr($stroka,  , 20);

6) Не хотим видеть HTML код в получаемой строке? htmlspecialchars(); иstrip_tags(); Вам в руки!

7) Строка должна состоять только из букв? Ну так проверьте!preg_match('/^[a-zA-Z]$/'...);

8) В переменной должен быть правильный e-mail адрес? Нет ничего проще:

preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/'$address);

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

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