WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

Kama Spamblock: защита от спама в комментариях WordPress

Более надежный, по сравнению с предыдущим, метод избавления от авто-спама в комментариях WordPress. Я уже делал попытки бороться с автоспамом в комментариях, но, как говорится, — первый блин комом. Несмотря на то, что прошлый метод тоже успешно защищает от автоспама у него есть недостатки: cложная установка; не такая хорошая защита.

Суть метода, в двух словах, в следующем: комментарий можно оставить только кликнув на кнопку "отправить комментарий" (submit), никакие другие способы оставить комментарий не пройдут. Роботы кликать не умеют, поэтому от автоспама мы избавимся.

Плагин полезно устанавливать даже если у вас на сайте используется внешняя система комментирования, вроде disqus. Потому что плагин блокирует все запросы отправляемые на страницу wp-comments-post.php

Лирика

На одном из моих сайтов прошлый метод все равно пробивали. После того, как я понял, каким образом пробивается защита, родилась идея усовершенствовать прошлый вариант защиты от спама. Новый вариант получился в виде плагина. Чтобы защита начала работать уже нет необходимости редактировать шаблон, нужно просто загрузить и активировать плагин. Проблема прошлой защиты была в том, что когда комментарий отправлялся сразу в файл wp-comments-post.php он не был защищен. В дальнейшем я придумал хак, который проверял поле referer и если поле не было равно ссылке страницы, с которой отправлялся комментарий, то комментарий блокировался. Однако, позднее стало ясно, некоторые спам-программы вставляют в запрос "referer" той страницы на которую они отправляют спам-комментарий, а значит такой фильтр мало полезен. Решением стало использовать временный код, который каждый день меняется и по которому проверяется запрос. В результате получилось что-то вроде псевдо-каптчи. "Псевдо", потому что заполнять ничего не надо, но при этом защита работает по принципу каптчи (проверяется определенный код, который отправляет форма комментария).

Преимущества плагина:
  1. Никаких каптчей, чекбоксов, картинок и прочей античеловечности. Присутствие плагина визуально никак не проявляется;

  2. Никакого авто-спама!

Скачать плагин защиты от спама в WordPress

Скачать: Kama Spamblock (последняя версия)
Плагин для защиты от автоспама в комментариях WordPress
Скачано: 189, размер: 5.4 KB, дата: 2.6 года назад

Страница плагина в каталоге WordPress →

Проверка работы плагина

Плагин работает НЕправильно, если при отправке комментария вы видите такое сообщение (вы должны быть неавторизованы):

Когда плагин заблокировал комментарий его можно отправить повторно

Это может быть , когда не совпадает id кнопки отправки комментария:

Чтобы это исправить зайдите в "Настройки > Обсуждения" внизу будут настройки плагина:

Настройки kama spamblock

Укажите там id вашей кнопки отправки комментариев. Обычно id кнопки: id="submit". Чтобы узнать ваш id, перейдите на страницу сайта, где есть форма комментирования и нажмите ctrl+u (исходный код страницы), далее, сделайте поиск по фразе type="submit". Так вы найдете кнопку, посмотрите её id, вот пример того как может выглядеть код кнопки:

<input name="submit" type="submit" id="submit" tabindex="5" value="Отправить комментарий" />

Удаление плагина

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

Обновления

Остальное в смотрите репозитории...

1.5.1 (6.11.2014)

Добавил подключение js через get_footer и wp_footer. Для тем где отсутствует функция wp_footer().

1.5.0 (5.11.2014)

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

  1. Изменил javascript: убрал ссылку в скрипте, которая иногда попадала в индекс поисковиков.

  2. Добавил настройки плагина

  3. Перевел плагин на английский (для размещения в каталоге плагинов WordPress

  4. Доработал форму повторной отправки комментария, добавил туда действие со стороны пользователей, чтобы повторно отправить коммент. Для лучшей защиты...

Когда плагин заблокировал комментарий его можно отправить повторно

1.4.6 (2.11.2014) добавил условие, чтобы комментарий проверялся, только если это родной комментарий WordPress ( comment_type = 'trackback', 'pingback' или 'пусто'). Нужно для случаев, когда в системе присутствуют дополнительные типы комментариев, чтобы на них плагин не обращал внимания.

1.4.5 (9.02.2014) заметил get_option('home') на get_option('siteurl'), а то плагин не работал, если ВП установлен в поддиректорию.

1.4.0 (18.мая.2013) Если в браузере отключен яваскипт или по другим причинам, комментатору выводится сообщение, что комментарий заблокирован, то теперь в конце этого сообщения есть кнопка для отправки всего содержимого в $_POST повторно, т.е. отправку комментария можно продублировать без всяких препятствий со стороны плагина.

kama_spamblock

1.3.1 (14.12.2010) Небольшое исправление — сделал полный УРЛ для отправляемых данных, а то на некоторых серверах плагин не работал.

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

1.2.1 (24.10.2010) Спасибо комментаторам за багрепорт (невозможно ответить на коммент из админки)! Изменения:

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

  • Немного изменил защиту.

Для обновления, просто замените файл плагина.

22.09.2010 Упростил принцип проверки. Теперь проверяется не через nonce, а проще - ежедневно генерируется случайная надпись (в общем, хуже не стало). Спасибо комментаторам, которые предупредили о баге. Кто использует этот плагин рекомендую обновить (просто замените файл плагина на новый).

29.07.2010 Исправил баг в коде. Добавил поддержку для более ранних версий WordPress, теперь плагин должен работать начиная с версии 2.0 (проверял на 2.7+).

25.07.2010 Добавил проверку обратной ссылки при пингах и трэкбэках. Теперь, трэкбэк уведомление появится только в том случае, если будет найдена обратная ссылка на сайт откуда пришло уведомление.

Kama Spamblock: защита от спама в комментариях WordPress 249 комментариев
Полезные 3 Вопросы 3 Все

Здравствуйте, !

Ваш комментарий