Обычно, для защиты от спам-ботов на различных интерактивных ресурсах (блогах, гостевых и т.д) используется капча (CAPTCHA). Но разбор и ввод непонятных знаков довольно сильно напрягает пользователя.
Но если не исплльзовать капчу, то мегатонны говна спама обрушиваются на
Беззащитную форму.
На этом сайте была такая же проблема.
Есть несколько способов борьбы со спам ботами.
Способ первый: премодерированиеТ.е. введенная в форму информация попадает в результирующую страничку только после проверки модератором, это не избавит от спама, но спам не попадет к остальным пользователям. И автоматические системы не будут пытаться отправлять спам, т.к. они проверяют результат своих действий. И при его отсутствии вычеркивают вас из списка :)
Способ второй: отсеивание ботов средствами java script и php
Для защиты нам нужно убедиться, что отправляемая информация приходит от реального пользователя реального браузера. Любую отправляемую информацию можно подделать, поэтому нужно организовать некую многоуровневую защиту.
- 1. Добавить в форму скрытое поле, которое будет заполненно ботом и не сможет заполнить реальный человек т.к. просто не увидит его.
- 2. Форму отправляем методом POST
- 3. Применим шифрование информации в форме при помощи функции загружаемой по AJAX выдаваемой php скриптом на сервере, функция шифрования может выбираться случайным образом. Расшифровка производится на сервере.
- 4. Ну и саму форму можно не писать в html, а получать также по AJAX. Причем форма инклудится в неприметный элемент основногл текста из какого-либо другого места.
- 5. Используя эти методы можно предотвратить получение спама, но если террорист задастся целью, то будет написан скрипт под ваш конкретный случай и спам всеравно пролезет. В этом случае можно примениьь детекцию пользователя. Т.е. сбор данных о поведении пользователя до т после отправки данных на сервер. Например сбор данных о движениях мышей, переход по сьраницам сайта , нажатие клавиш и т.д.
- И не забыть все хорошенько заобфусцировать...