Вы здесь

BOTCHA Spam Prevention

Антиспам BOTCHA.

Модуль BOTCHA Spam Prevention является фреймворком для защиты от спама. Используя модуль CAPTCHA, пользователь должен доказать, что он является человеком. К сожалению, боты научились обходить такую защиту, а настоящих пользователей раздражает возрастающая сложность прохождения тестов CAPTCHA. BOTCHA не раздражает пользователей, защита этого модуля для них полностью прозрачна и ненавязчива.

BOTCHA предлагает спамботам доказать, что они являются ботами и полезна для любой формы, которую нужно защитить от спама.

Как это работает?

Подход BOTCHA заключается в том, чтобы добавить формам различные элементы, которые нужны для защиты от ботов. Эти элементы не показываются в виде новых полей пользователям, поэтому для людей BOTCHA совершенно прозрачна. Как люди, так и боты, отправляют формы, после чего BOTCHA выполняет эвристический анализ каждой отправленной формы. Боты и обычные программы/скрипты обычно относительно немы и большую часть времени они проваливают тесты BOTCHA, а пользователи этого не делают.

После того, как бот доказал, что он бот, отправка формы блокируется.

Чем больше есть у бота способов доказать, что он бот, тем эффективнее защита от спама. Поэтому мы можем объединить несколько способов BOTCHA в отличие от использования только одного в каждой форме CAPTCHA. Это даёт BOTCHA преимущество.

Преимущества

У BOTCHA есть много преимуществ перед CAPTCHA:

  • BOTCHA не беспокоит людей
  • BOTCHA разработан так, что человек его никогда не увидит
  • BOTCHA не имеет ограничений на количество тестов, которые могут быть применены к каждой форме, поэтому его силу можно повышать
  • BOTCHA не требует сложной настройки

BOTCHA можно использовать и без CAPTCHA, но мы рекомендуем использовать их вместе, так как они не мешают друг другу, а большее количество линий обороны даёт лучший результат. Посмотрите на скриншот системного журнала на сайте, где эти два модуля работают одновременно. Отметьте, что BOTCHA заблокировал отправку 8 форм, а отправку ещё 2 форм заблокировал CAPTCHA. Видно, что BOTCHA заблокировала 6 попыток ботов зарегистрироваться на сайте за 16 минут, которые пропустила CAPTCHA.

Способы защиты

  • NoResubmit (работает без JavaScript): способ рассматривает как спам все отправки, сделанные используя уже отправленные формы
  • Timegate (работает без JavaScript): в процессе генерации формы добавляется поле, которое содержит тайм-штамп и которое скрываются с помощью CSS. В момент отправки формы, этот тайм-штамп используется для проверки на спам: если форма отправлена слишком быстро, то отправка рассматривается как спам. Минимальное время, которое должно пройти до отправки формы, настраивается
  • Honeypot: реализация приманки-ловушки. Суть в том, что поле добавляется в форму с определённым значением, которое затем изменяется с помощью яваскрипта. Спамом является любая отправка формы, в которой значение этого поля не совпадает с расчётным
  • Honeypot2: то же, что и Honeypot, но в качестве исходника для расчёта используется не значение определённого поля, а данные из CSS
  • ObscureUrl: способ похож на Honeypot2 — значение конструируется JavaScript и сравнивается с нужным. Разница в том, что начальное значение обрабатывается через GET-параметр

Как расшифровывается аббревиатура BOTCHA?

BOTCHA = BOT Computerized Heuristic Analysis

BOTCHA так же означает «Bombs On Target, Come Home Alive» (военный словарь). BOTCHA это довольная улыбка после того, как спам боты разбомблены на земле.

Ещё одно значение BOTCHA — double-dead meat (Википедия), что означает угрозу для здоровья. Мы скармливаем BOTCHA ботам и ждём когда у них случится диарея.

Установка

  • Скачайте и установите проект Module Object Oriented Programming API в папку модулей
  • Скачайте и установите проект BOTCHA в папку модулей
  • Включите BOTCHA и сделайте нужную настройку (самого модуля и прав доступа)

Использование

Модуль начинает работать после активации. Стандартно, модуль содержит определённую настройку и её изменение может не требоваться. Тем не менее, вы можете всегда изменить её на странице «Конфигурация → Пользователи → BOTCHA».

Модуль фиксирует свои действия в системном журнале и собирает статистические данные, которые показываются на странице статуса системы.

Есть набор стандартных форм, которые BOTCHA защищает из коробки, включая форму регистрации, которая является самой важной линией обороны. Текущая версия по умолчанию защищает все другие формы, которые защищаются CAPTCHA.

Структура BOTCHA состоит из 3 частей:

  • Формы: защита BOTCHA применяется ко всем перечисленным в списке формам
  • Книги рецептов: книги рецептов являются контейнерами для рецептов и используются для определения линий обороны от спама
  • Рецепты: некоторые из рецептов имеют параметры, которые может определить управляющий сайтом