Показать сообщение отдельно

  #43  
Старый 24.02.2008, 18:02
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

Есть еще один способ защиты от спамоботов - переменные названия полей ввода.

Т.е. мы имеем форму, допустим, с 2 полями, для имени и для сообщения:
Код:
Ваше Имя:
<input type="text" name="UserName" value="" />

Ваш текст:
<input type="text" name="Post" value="" />
Такая постановка вопроса боту очень даже удобна.
Но что он скажет на такую вот форму:
Код:
Ваше Имя:
<input type="text" name="eyWUpIFC6J1JcHPYWQLd" value="" />

Ваш текст:
<input type="text" name="qgyoPxauUq8tQEXxpUer" value="" />
В этом случае имя поля ввода генерируется случайным образом при каждой выдаче формы пользователю (или при получении данных из формы от оного, для экономии ресурсов), хранятся в сессии и ждут получения данных пользователя.

Но есть "но":
Легко вытянуть имя поля, зная контекст его использования.
Благо эту ситуевину можно решить, используя JavaScript/AJAX

Еще одно но в плане юзабилити:
Все автодополнения в браузерах идут лесом, т.к. они привязываются к имени поля.


Как еще одно звено в защите можно использовать проверку времени заполнения формы, т.е. разницу между ее выдачей юзверю и получением данных.
// Вряд-ли живой человек сможет написать пост на форум/коммент в блог за 5 секунд, а вот боту пыл поубавит.


Еще сильный ход - отказаться от проверок во время отправки сообщения, а направить все силы на защиту от регистрации "неживого населения" на сайте, ессно при этом всем незареганным пользователям права ReadOnly.
 
Ответить с цитированием