НЕ ПРОПУСТИТЬ ИНТЕРЕСНОЕ

Свежие обсуждения

Sorry. No data so far.

Как эффективно бороться со спамом в комментариях блога на WordPress

Здравствуйте уважаемые читатели блога www.ithabits.ru. Сегодня мы поговорим о способах эффективной борьбы со спамом в комментариях блога на WordPress.

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

Найти такие обзоры в сети Интернет несложно. Знакомиться с ними имеет смысл на самых ранних стадиях создания Web-ресурсов, так как они зачастую дают хоть и обширную, но достаточно поверхностную информацию.

В публикации будут подробно описаны несколько анти спам плагинов для WordPress, которые предполагалось использовать и которые реально были использованы в данном проекте. Основное внимание будет уделено причинам, по которым окончательно был выбран один из них – DCaptcha, особенностям его установки и настройки.

Wordpress spam off

Спам (spam) определяется как рассылка различных видов сообщений, обычно коммерческой и иной рекламы, лицам, которые не выражали желания их получать.

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

С определенной натяжкой к некой разновидности спама можно отнести практически всю рекламу. Рекламные блоки по телевизору – мы же их не заказываем, а нам их навязчиво показывают, причем в большом количестве. Реклама на всех интернет сайтах. Последняя отличается от телевизионной в лучшую сторону, так как пытается все же соответствовать интересам конкретного пользователя.

В своем современном толковании термин спам впервые стал использоваться применительно к сообщениям электронной почты. По данным, которые можно найти за прошлый 2012 год, доля спама в почтовом трафике хоть и несколько снизилась, но составила около 75% (!).

Сегодня существует большое количество различных алгоритмов борьбы с почтовым спамом. Разбирать их в данной статье нет никакого смысла. Коротко остановимся лишь на одном, имеющем некоторое отношение к WordPress.

Речь идет о наиболее часто применяемом, хотя и не гарантирующем 100% фильтрации, методе, основанном на статистической оценке входящих сообщений. Во многих почтовых серверах в качестве такого спам фильтра используется модуль SpamAssassin.

Раньше я достаточно часто настраивал коэффициенты фильтра SpamAssassin в почтовых серверах MDaemon. Задача обычно сводилась к тому, чтобы найти такой порог срабатывания, при котором гарантированно не отсекаются “нормальные” почтовые сообщения, и при этом уровень проскакивающего спама можно считать допустимым.

Перейдем непосредственно к WordPress и рассмотрим особенности и характеристики нескольких популярных анти спам плагинов.

Плагин Akismet

Плагин Akismet традиционно входит в состав WordPress. Не упомянуть о нем было бы неправильным.

Для того, чтобы плагин заработал, помимо его активации необходимо получить API-ключ. Получить его, в том числе и бесплатно, можно после регистрации, которая запускается по ссылке в тексте описания плагина в административной панели WordPress. После регистрации и получения API-ключа его нужно ввести в настройках Akismet.

Первой особенностью, которая несколько настораживает, является то, что для оценки текста комментариев Akismet использует сторонний сервер. То есть, новый комментарий отправляется на внешний сервер, где и проходит оценку. Если проверочный алгоритм Akismet сочтет комментарий “правильным”, то пропустит его, если нет, отправит его в папку со спамом.

Очевидно, что такой механизм работы плагина несколько увеличивает интернет трафик на web-сервер.

Можно предположить, что анти спам плагин Akismet работает на основе статистического алгоритма, аналогичного почтовому SpamAssassin. К сожалению это означает, что ошибки в ту и в другую сторону будут неизбежны. Многие пользователи отмечают, что имеет место периодический пропуск спам комментариев и напротив – перемещение в папку для спама “человеческих”.

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

У всех, наверное, по-разному. У меня на блоге пытаются спамить очень активно – в день набирается несколько десятков спам комментариев. Регулярно просматривать их совершенно не хочется, так как времени и так ни на что не хватает.

Кроме того, если для почты проскакивание спам-писем можно считать вполне допустимым, то пропуск спама в комментарии блога, который ежедневно просматривает большое количество посетителей, совершенно недопустим.

Необходимо отметить, что существенно улучшить ситуацию с пропуском спам комментариев можно за счет правильных настроек WordPress. В “Параметры” –> “Обсуждение” в строке “Перед появлением комментария” имеет смысл включить “Автор должен иметь ранее одобренные комментарии”.

Дополнительно в строке “Модерация комментариев” можно задать допустимое количество ссылок в комментарии, например – “1”, после которого он не будет сразу опубликован, а отправится на “ручную” проверку.

Указанные выше установки имеет смысл сделать не зависимо от того, какой спам фильтр используется.

Плагин Cforms II

Плагин Cforms II предназначен для создания на сайте различных по назначению и стилю форм. Возможности этого плагина по созданию и отправке форм чрезвычайно широки – от простой формы обратной связи до сложного заказа. В том числе, он может быть использован в качестве продвинутой формы комментирования постов в WordPress вместо стандартной.

Установка и настройка этого плагина – тема отдельной статьи.

Резонный вопрос – почему мы заговорили об этом плагине сейчас, то есть в статье, посвящённой борьбе со спамом в комментариях блога? Дело в том, что помимо всего прочего в арсенал возможностей плагина Cforms II входит и возможность защиты от спама с помощью капчи.

Наверняка все знают что это такое, но на всякий случай. Капча — это некая небольшая задача, например, на распознавание графических символов или предметов логического ряда, которую несложно решить реальному человеку, но неподвластная спам-роботу.

Спам-робот — это специальная программа, предназначенная для автоматического создания сообщений с неким заданным текстом, обычно рекламного характера со ссылками, на доступных Интернет-ресурсах. Спам-робот ищет поля форм и заполняет их.

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

Я успешно использовал плагин Cforms II для создания форм в предыдущих проектах и не долго думая использовал его в блоге для комментариев.

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

Безусловно количество комментариев зависит от самых разных факторов – темы статьи, стиля, степени раскрытия материала, самой аудитории и многого другого. По моим скромным наблюдениям активно начинают комментировать посты, которые представляют собой некое руководство или инструкцию. То есть начали что-то делать, не получается или нашли ошибку.

Как это ни странно позвучит, но получается, что для появления комментариев к посту надо или что-то не дописывать в материале, или делать ошибки.

Однако, наряду с этим не последнюю роль в отсутствии комментариев на блоге сыграла как раз капча. Я поставил себя на место читателя и представил, как прочитав замечательную статью решил, вроде как, оставить комментарий. А потом увидел внизу формы капчу. Вот настроение писать сразу и пропало.

Почитав в Интернет мнения других блогеров на эту тему я понял, что моя догадка подтверждается.

Но это еще не все. Когда активно пошел спам оказалось, что не смотря на наличие капчи, Cforms II его иногда пропускает. Причем увеличение или уменьшение количества символов, которые надо распознать и ввести с картинки, ничего в этом плане не меняет.

Вразумительно объяснить это явление я не возьмусь. Можно лишь предположить, что спам-роботы научились распознавать символы по картинкам, или что это был спам “ручной”, то есть присланный человеком.

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

Плагин Cforms II остался на блоге, но только в форме на странице обратной связи. Там можно посмотреть как выглядит форма и капча к ней.

Анти спам плагин DCaptcha

Когда я начал подбирать замену Cforms II, то обратил внимание на анти спам плагин DCaptcha. Как становится понятно из его названия, это тоже капча. Вся прелесть в том, что она настолько простая, что вряд ли может погасить своим видом желание посетителя оставить комментарий к статье.

Визуально DCaptcha создает один единственный чекбокс, в котором посетитель, написавший комментарий, должен поставить галочку перед его отправкой. Как это выглядит у меня на блоге можно непосредственно увидеть дочитав статью до конца.

Однако, упоминания о DCaptcha в Интернет были какими-то странными. С одной стороны — “самая популярная капча для WordPress” и “стопроцентная защита”, с другой стороны его следы в настоящем времени как-то терялись.

Установка плагина на тестовый сервер объяснила причину такого положения вещей – плагин DCaptcha элементарно не работал. То есть не зависимо от установки галочки в чекбоксе все сообщения благополучно попадали в комментарии.

Слегка забегая вперед хочу сказать, что “недуг” удалось обнаружить и устранить достаточно быстро, а плагин DCaptcha работает просто замечательно. Можно сказать, что сегодня о спаме я просто-напросто забыл.

Для тех, кто решил установить этот плагин, на выбор есть два варианта:

  1. Скачать исходный, то есть неработающий экземпляр плагина DCaptcha (версия 0.2b), например, отсюда и исправить его так, как будет описано ниже; gift-red-50
  2. Скачать по подписке на обновления блога уже готовый работающий вариант плагина DCaptcha.

Установка плагина DCaptcha

Рассмотрим вначале установку плагина, так как она имеет некоторые особенности.

  1. Как обычно копируем по FTP папку с плагином в каталог wp-content/plugins;
  2. В каталоге плагина находим папку “num” и выставляем на нее с помощью вашего FTP-клиента права “777” (это нужно для того, чтобы на следующем шаге инсталлятор мог записать в нее новый созданный файл);
  3. Активируем плагин в административной панели;
  4. Запускаем браузер, вводим в адресной строке “http://ваш_сайт/wp-content/plugins/dimoning.ru-captcha/install.php” и нажимаем “Enter”;
  5. На первый взгляд ничего не произойдет, но на самом деле при этом будет сгенерирован уникальный для вашего сайта код и записан в папку “num”;
  6. В целях безопасности возвращаем исходные права “755” на папку “num”.

Восстановление работоспособности плагина DCaptcha в новых версиях WordPress

Если вы скачали по подписке исправленный вариант плагина DCaptcha, то можно сразу переходить к настройкам внешнего вида чекбокса. Если нет, то нужно внести в текст плагина небольшие изменения.

  1. Откройте в текстовом редакторе notepad++ файл wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php
  2. Найдите в нем строку:wp_set_comment_status ($id, 'delete');
  3. Для перемещения сразу в корзину (именно такой вариант я в конце концов признал оптимальным) замените ее на:wp_delete_comment ($id);
  4. Если хотите предварительно перемещать спам в специально предназначенную для него папку (особого смысла я в этом не вижу), то замените текст строки на такой:wp_set_comment_status ($id, 'spam');

Небольшое пояснение к сделанным изменениям. Так как плагин достаточно старый, то в нем оказалась использована функция, которой в новых версиях WordPress (начиная с 2.9) уже не существует.

Странно, что сам автор не внес в текст плагина нужные изменения. Впрочем, в сфере бесплатного Open Source прекращение поддержки проектов, хоть и интересных для пользователей, но не принесших ожидаемых дивидендов автору, явление достаточно частое.

Настройка оформления

Для того, чтобы поменять дефолтный текст «Это не спам.», отображаемый рядом с чекбоксом плагина, нужно открыть в текстовом редакторе notepad++ файл wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php, найти соответствующую строку (74) и написать нужный вам текст.

У себя я текст оставил, но добавил к нему “(обязательно)”.

В следующей строке файла выводится ссылка на сайт автора плагина. Закомментировать ее или нет решать Вам.

Не трудно заметить, что вывод чекбокса и соответствующего ему текста DCaptcha делает в одноименном HTML блоке:
<div id="dcaptcha"><p>
<input type="checkbox" id="dcaptcha_captcha1" onclick="dcaptcha_change();" value="Это не спам.">
Это не спам.<br>
</div>

Это дает возможность легко управлять оформлением блока, добавив в таблицу каскадных стилей в файле .css темы WordPress нужные свойства. Например такие:

#dcaptcha {
color: red;
font-family: "Arial", "Tahoma", "Lucida Sans";
font-size: 14px;
margin: 10px 0px 0px 0px;
padding: 0px;
}
— для того, чтобы комментатор точно не пропустил чекбокс, у меня надпись сделана красным цветом.

Управление корзиной WordPress

После того, как Вы активируете и настроите плагин DCaptcha, весь спам начнет автоматически собираться в Корзине WordPress.

Корзина впервые появилась в уже упоминавшийся выше версии WordPress 2.9, начиная с которой престал правильно работать исходный вариант плагина DCaptcha.

По умолчанию информация, отправленная в корзину, будет хранится в ней 30 дней. Соответственно, если в день приходит несколько десятков спам-комментариев, то за месяц их наберется очень большое количество.

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

Для этого нужно добавить в файл настроек WordPress wp-config.php, расположенный в корневой папке сайта, следующее:
/* Интервал хранения в корзине. */
define('EMPTY_TRASH_DAYS', 1);

Сделать это можно, например, в конце файла до строки:
/* Это всё, дальше не редактируем. Успехов! */
Вместо “1” можно поставить любое нужное вам количество дней. Если корзина не нужна вовсе, то нужно подставить “0”.

Вот так выглядит “однодневная” корзина моего блога на момент написания этой статьи:

WP-trash-1

Итоги использования плагина DCaptcha

В завершении темы плагина DCaptcha хотелось бы сказать следующее. Работой этого плагина я чрезвычайно доволен.

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

С другой стороны после установки анти спам плагина DCaptcha вместо Cforms II количество комментариев действительно заметно возросло, что не может не радовать. Однозначно сказать, что это исключительно заслуга данного плагина с предельно простой капчей нельзя, так как параллельно происходил рост посещаемости ресурса, но факт остается фактом.

Плагин Antispam Bee

Antispam Bee — судя по отзывам, очень популярный последнее время плагин защиты от спама. В качестве его основных положительных моментов отмечаются следующие:

  • Простота установки;
  • По сравнению с Akismet, не требуется регистрация и не используется сторонний сервер;
  • Не требуется никаких изменений в шаблонах темы;
  • Большое количество настраиваемых пользователем функций.

Можно сказать, что механизм диагностики спама в Antispam Bee прямо противоположен тому, который использует рассмотренный выше плагин DCaptcha. Если DCaptcha создает новое видимое для пользователя, но неподвластное спам-роботу поле, которое нужно обязательно заполнить, то Antispam Bee наоборот создает невидимое для обычного пользователя, но доступное для спам-робота поле.

Спам-роботы попадаются на том, что заполняют все доступные им поля без разбора, в том числе и скрытое от пользователя.

Скачать плагин можно отсюда.

Пока я не использую на своем блоге этот плагин. В отзывах пользователей все же были отмечены некоторые огрехи в его работе. Но попробовать хочется. Очень надеюсь на то, что те, кто использует Antispam Bee для защиты от спама своих ресурсов, поделятся впечатлениями.

Желаю всем абсолютных успехов в борьбе со спамом.

Комментарии: 12. Присоединяйтесь к обсуждению!

  1. По моим скромным наблюдениям активно начинают комментировать посты, которые представляют собой некое руководство или инструкцию. То есть начали что-то делать, не получается или нашли ошибку.

    Александр, эти факторы лишь повышают вероятность появления комментариев, но широкая дискуссия возможна и без них. Например, нужно учитывать интересы постоянной аудитории, и я не уверен, что эта статья для нее. Судя по жирному шрифту местами — это посетители из поисковиков 😉

    По теме — сейчас большая красная жирная надпись «Это не спам (обязательно)» — это вовсе не то, на чем нужно фокусировать внимание читателя, чтобы побудить к комментарию. Другими словами, налицо неудачная реализация.

    И вообще, чем меньше читателю нужно сделать для отправки комментартя, тем лучше. Все эти капчи и флажки не нужны, если ваша цель увидеть больше мнений, а не меньше спама.

    • Вадим, большое спасибо за комментарий. Все, о чем Вы говорите, совершенно верно. Однако не понял, в чем была шутка по поводу поисковиков. Блог пока еще очень молодой, но число подписчиков стабильно растет. Естественно они приходят из поиска, а откуда же еще? Вы свою постоянную аудиторию каким-то иным способом набирали?
      Сам я являюсь подписчиком вашего интересного блога и с удовольствием периодически его почитываю. У Вас читатели действительно весьма активно комментируют посты. В этой связи очень интересно было бы узнать, какой способ защиты от спама используется на вашем блоге. Я с удовольствием отказался бы от капчи вовсе, даже такой простейшей, которую делает DCaptcha. Поделитесь секретом?

  2. Александр, я знаю, что вы читате мой блога (а я читаю блоги своих читателей :)

    Однако не понял, в чем была шутка по поводу поисковиков.

    У вас явно в тексте жирным выделены SEO-фразы (даже если вы и не имели такого намерения, выделяя их).

    Поделитесь секретом?

    Свой способ защиты от спама я уже указывал у вас в блоге

    Вы свою постоянную аудиторию каким-то иным способом набирали?

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

    У меня есть книга, и все материалы (кроме одного) доступны свободно. Я вижу, что вы развиваете подписку — это правильная идея, но методы развития я не вполне разделяю :)

    • ОК. Посмотрю повнимательнее на NoSpamNX. А по поводу Antispam Bee что-то можете сказать? (Может быть кто-то из знакомых использует).
      Книга — это здорово. А в чем принципиальная разница между бесплатной раздачей книги и бесплатной раздачей готовых скриптов? Я точно так же как и Вы не заставляю никого подписываться принудительно — исключительно по доброй воле читателей.

  3. Александр, Antispam Bee не использовал, но судя по описанию, смысл тот же, что и NoSpamNX.

    А в чем принципиальная разница между бесплатной раздачей книги и бесплатной раздачей готовых скриптов?

    Гм… книга учит, а скрипт не учит ничему. Книга — лучший подарок, а скрипт… :) И так далее.

    Я точно так же как и Вы не заставляю никого подписываться принудительно — исключительно по доброй воле читателей.

    Нет, конечно, вы не заставляете. Но вы пишете статью (например, про сжатие WinSxS). Чтобы извлечь профит, нужен ваш скрипт, а его можно получить только за подписку. Без скрипта статья особого смысла не имеет.

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

    • Вадим, как успешный блогер и отличный специалист по Windows, Вы имеете полное право иметь свое категорическое мнение по данным вопросам, но…

      Гм… книга учит, а скрипт не учит ничему. Книга — лучший подарок, а скрипт…

      помогает быстро решить конкретную задачу или проблему. Что же тут может быть плохого с точки зрения нашего любимого читателя?
      Как я уже говорил, любой скрипт можно скачать и без завершения подписки. И, кстати, примерно половина потенциальных подписчиков так и делает. Это их полное право. И я конечно извиняюсь, но Вы свою единственную книгу тоже не за просто так раздаете…
      Ну, в общем, все в этом мире относительно. Главное чтобы в конечном счете была польза для читателей.

  4. Александр, я и не говорил, что вы делаете что-то плохое. А различий очень много на самом деле, подумайте над ними на досуге :) Удачи!

    • Вадим, своим последним ответом Вы меня сильно удивили. Мне кажется, что ответы в стиле «подумайте сами…» просто недопустимы, тем более для Вас. Если конкретики не получается, я думаю (обратите внимание — я думаю, как Вы и посоветовали), лучше не писать вовсе.

  5. fefe:

    я спам-бот

  6. Petro:

    Бейти спам им.
    Проблем не будет.

    • Спасибо за предложенный вариант. Однако я уже достаточно давно перешел на «Invisible Captcha». По эффективности ничуть не хуже описанного в статье «DCaptcha», зато для читателей упростилось все до предела.

Написать комментарий

Subscribe without commenting