Ars Longa, Vita Brevis

Очередной плагин для WordPress для борьбы со спамом

В очередной раз удалив десяток спамеров из базы и почистив комментарии от ссылок на порносайты и виагру, я серьёзно задумался о том, чтобы поставить CAPTCHA.

На Wordpress.org есть примерно с десяток плагинов для отсеивания спам-ботов, но использование чужого кода — это не наш метод, поэтому коллекция плагинов пополняется еще одним :-)

Помимо генерации случайного изображения, я воспользовался методом, описанным у Максима Покровского, заключающимся в создании элемента <input> с установленной через CSS visibility: hidden: спам-бот заполнит этот <input>, а пользователь — нет.

Я пошёл несколько дальше, и не стал полагаться на статически заданное имя поля. Вместо этого поле стало динамическим (в смысле, имя поля генерируется случайным образом), что может служить дополнительной защитой.

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

Отмечу, что я сознательно смешал два метода — проверочный код и пустое текстовое поле — просто мне очень интересно, каков процент несрабатывания у пустого текстового поля; а проверочный код "защищает" мою лень: если уж спамер догадался не заполнять пустое поле, то пусть догадается, что нарисовано на изображении и избавит меня от необходимости чистить комментарии.

Скачать плагин SJCaptcha for WordPress.

Из плюсов: код плагина — всего 151 строка (включая пустые строки и комментарии).

Из минусов: все настройки зашиты в исходном коде. Но для версии 0.01 сойдёт :-)

PS: в css-файл используемой темы нужно добавить три строчки:

[-]
View Code CSS
.pvc {
    display: none;
}

Комментарии к статье "Спамеры просто достали, или, Еще одна CAPTCHA для WordPress" (11) »

  1. [Апрель 7, 2008 12:43 дп] Vladimir:

    Ура, оно работает!!! :-)

    #1
  2. [Апрель 7, 2008 1:14 дп] Tigress:

    Действительно, работает! :-)

    #2
  3. [Апрель 24, 2008 12:46 дп] Fanta:

    А этот плагин работает для ВП-МЮ ??

    #3
  4. [Апрель 24, 2008 6:41 пп] Vladimir:

    Fanta, если честно, то с WP MU я его не пробовал… Но раз хуки одни и те же, то скорее всего, будет работать.

    #4
  5. [Май 21, 2008 12:07 пп] Vladimir:

    Внимание всем спамерам! Теперь у вас еще меньше шансов, ибо плагин был серьезно переработан:

    • зомби не пройдут — FCrDNS эффективно отсекает 90% спамеров;
    • спам-ботам задача очень сильно усложнилась — ”левые” почтовые адреса тоже не пройдут — плагин осуществляет проверку на существование A-записи для домена, указанного в email. При паранойе можно проверять наличие MX-записи (пока при её отсутствии в error log кидается warning);
    • серьезно модернизирован механизм генерации анти-спам-полей.

    Планируется:

    Плагин пока в стадии beta-тестирования, но пока что хорошо защищает страницы с высоким PR от виагры, детской порнографии и страхования.

    Скачать плагин SJCaptcha for WordPress

    #5
  6. [Май 27, 2008 3:14 пп] Viggo:

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

    #6
  7. [Май 27, 2008 3:25 пп] Vladimir:

    мол что тут такого необычного

    На самом деле, здесь нет ничего необычного — просто результаты разностороннего анализа спама/спам-ботов, переведённые в код :-)

    Например, спам-боты пробуют автоматическую регистрацию (пройдет или нет) на абсолютно случайных email-адресах. Простое противодействие: проверка существования A/MX-записи для домена.
    Большая часть спама рассылается с инфицированных машин (зомби) — проверка FCrDNS их отсеивает.
    Другие боты рассылают спам, посылая “типовой запрос” — имя, email-адрес, сайт и комментарий. Игнорируя остальные поля. С этим борется доработанный метод, о котором я прочитал у Максима.

    Всем остальным - капча. Если пользователь имеет одобренные комменты (пусть даже он не зарегистрирован), капча ему показываться не будет.

    #7
  8. [Май 27, 2008 3:30 пп] Viggo:

    Забавно! Я уже не вижу капчи, что не может не радовать, если кому-нибудь доведется комментировать неоднократно. Приятно, что мой коммент приняли. Но, увы, не смогу составить вам компанию, т.к. не владею такими техническими знаниями и навыками. Удачи вам!

    #8
  9. [Июль 31, 2008 10:17 дп] AleXXX:

    Спасибо! Работает! Правда какие-то проблемы с PTR для моего IP, пришлось эту функцию отключить.

    #9
  10. [Июль 31, 2008 10:26 дп] Vladimir:

    Замечательно! А что касается PTR-записей, то провайдерам за незнание RFC нужно все выступающие части тела отрывать :-)

    #10
  11. [Август 24, 2008 11:29 пп] Igor:

    Спасибо за полезный плагин. Поставил себе на блог, красиво и полезно. Написал про него у себя, заходите http://www.lokl.ru/wp-upgrade/ :). Очень порадовала многоуровневая защита и ориентация на посетителя.

    #11

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий к записи "Спамеры просто достали, или, Еще одна CAPTCHA для WordPress"

Изображения должны быть включены!

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя