Персональный блог Игоря Антонова aka "spider_net"

Как защитить Drupal от спама


Рубрика: Программирование -> PHP
Метки: | | | | | | | |
Просмотров: 1960
Как защитить Drupal от спама

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

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

Honeypot – мед для незваных медведей

Модуля с оригинальной, пуленепробиваемой капчей, мне найти не удалось. Вместо этого я наткнулся на интересный проект Honeypot. Модуль доступен для всех версий Drupal (даже для 8-й!) и обещает помочь в нелегкой борьбе со спамерами.

Метод защиты достаточно прост. Администратор выбирает в настройках Honeypot форму для защиты. В моем случае это регистрационная форма. Для выбранной формы модуль будет генерировать невидимые для пользователя поля. Спамерский бот достаточно глуп и не может понять, что перед ним фейковое поле. Он вносит в него произвольное значение и отправляет форму на сервер. Вот тут в игру и включается дополнительная проверка. Если фейковое поле заполнено, то значит перед нами бот и продолжать процесс регистрации нельзя.

Чтобы сильней усложнить спам-боту жизнь, Honeypot подсчитывает время за которое была заполнена форма. Боты – шустрые создания, поэтому ухитряются заполнить даже самые большие формы за 1-2 секунду. Человеку времени требуется больше, а значит, таких шустриков можно смело отбрасывать.

Пока Honeypot работает просто отлично. За три дня массовых регистрацией не наблюдалось. Посмотрим, что будет дальше.

Оставьте комментарий!
comments powered by HyperComments