|
|
|
| В своих скриптах я проверяю все введенные данные пользователем регулярным выражением представленным ниже :
if(!preg_match("|^[-А-Яа-яA-Za-z \, 0-9 \) \(ёЁ \:\%_ \] \[ \? \; \"\. =\$\{\}\/!]{2,1000}$|",$opisanie))
Смысл сводится к тому, чтоб не пропустить вредоносных тегов и других элементов, могущих как-то навредить сайту при обработке
данных формы - Вопрос: а нужно ли все это? Обосновано ли? Не проще было бы заменить все простой командой htmlspecialchars?
Я знаю нескольких программистов, которые используют регулярные выражения только для спецефических задач, как то поиск текста
на сайте, или предотвращения ошибки при вводе пользователем электронного адреса (запрет на запятую, обязательный элемент @ и т.д.
). Они говорят что нет необходимости при проверке полей с обыкновенным сообщением проверять так, как я привел
пример выше. Правы ли мои друзья? Действительно ли мне стоит отказаться от подобной формы проверки всех введенных данных??? | |
|
|
|
|
|
|
|
для: yustys
(27.01.2008 в 00:08)
| | Друзья правы. Действительно стоит. | |
|
|
|
|
|
|
|
для: yustys
(27.01.2008 в 00:08)
| | Регулярные выражения - очень сложная штука. Они очень мощные, поэтому слегка тормозные. Причем, они тем тормознее, чем длиннее и запутаннее шаблон. Иногда скорость зависит от длины строки. В любом случае, лучше отказаться от них в данном случае. | |
|
|
|
|
|
|
|
для: SHAman
(27.01.2008 в 01:08)
| | Спасибо за совет! Так и сделаю!!! | |
|
|
|