Защищаем wp-comments-post.php с помощью Simple Captcha. Akismet отдыхает
Немного предистории
Еще до того как этот блог был обновлен до версии Wordpress 2.7, для защиты от спама в форму комментариев я использовал очень хороший плагин - Trencaspammers от . Но, к сожалению, автор его по всей видимости забросил и больше не поддерживает и с WP 2.7.x Trencaspammers несовместим. Плагин был не очень популярным, возможно потому что его установка требовала вмешательства в основные файлы движка, а именно, в wp-comments.php и в wp-comments-post.php. Это было не очень удобно, так как после каждого апгрейда WP до новой версии, нужно было не забыть вновь отредактировать эти файлы под плагин, иначе никто не смог бы оставить коммментарии в блоге.
С Trencaspammers я распрощался, когда обновился до версии WP 2.7 потому что в новую систему, которая поддерживала теперь вывод древовидных и постраничных обсуждений, корректно “вклеить” код Trencaspammers у меня не получилось.
С переходом на WP 2.7 со спамом в комментах я заставил сражаться всем известный Akismet. Он действительно достаточно хорошо справлялся со своей задачей, но не до конца, как бы хотелось.
Каждый день я наблюдал как в спам падало по 150-180 говнокомментов. По началу я просматривал их все перед тем как нажать на кнопочку “Удалить весь спам“, но потом мне это порядком надоело. И в конце концов весь спам я начал удалять неглядя.
А однажды мне в обратную связь пришло письмо от одного посетителя, который сообщил, что его комменты к одной из статей не появляются в ленте. Я проверил нападавший “Спам” и нашел там то что нужно было… Потом такие ситуации стали возникать с завидной периодичностью. И хоть процент ложных срабатываний Акисмета у меня был достаточно низок - около 3% - это все равно было не нормально. Последняя капля терпения иссякла вчера, когда в этой публикации от четырех человек поздравительные реплики были расценены Akismet’ом как спамерские.
Я открыл Google и приступил к поиску альтернативы Trencaspammers. Поиски очень скоро увенчались успехом.
Представляю Вашему вниманию плагин Simple Captcha. Автор плагина . Что делает этот маленький, 20-ти килобайтный PHP скрипт. Он добавляет перед полем <textarea> формы комментариев еще одно поле, вроде тех, куда следует ввести имя, e-mail. В это поле комментирующий должен ввести шестизначное число с картинки, которая генерится случайным образом, а ее значение имеет свой срок жизни и привязано к сессии браузера. Боты теперь не пройдут.
Прошло больше суток, как Akismet уничтожен. Ни одного спам-комментария! Хотя, судя по логам сервера, количество бестолковых попыток запостить очередную пачку говноссылок не уменьшается. В плане защиты от спама, Simple Captcha куда эффективнее, чем Akismet.
Немалое на мой взгляд преимущество плагина еще и в том, что картинку с защитным кодом видят только гости. Зарегистрированным пользователям “плагин” доверяет и вводить код не требует.
Simple Captcha имеет полезную и востребованную функцию обновления картинки без перезагрузки страницы. Просто нажмите на кнопку
и перед Вами появится новое изображение.
Simple Captcha, в отличии от Trencaspammers, предельно прост в установке. От пользователя требуется всего лишь загрузить папку simpleCAPTCHA (из архива) в папку wp-content/plugins/ и активировать плагин в панели управления блога. Никаких модификаций файлов Wordpress делать не прийдется, а следовательно не заморачиваться с этим вопросом при обновлении движка.
Как выглядит внешне плагин на странице Вы можете посмотреть в форме написания комментария. Напомню, если Вы находитесь на сайте как зарегистрированный пользователь, captcha показываться не будет.
Для работы плагина требуется библиотека php GD, а также в браузере пользователя не должны быть отключены JavaScript. JavaScript используется для обновления картинки, для вывода Alert сообщения, в случае, если код введен неверно, либо если не введен вообще и т.п. Пользователь с отключенным JavaScript увидит соответствующее предупреждение. Также Вы увидите предупреждение, если Ваш хостинг не поддерживает php GD.
Скачать
Плагин Simple CAPTCHA версия 1.5.1b | Русская адаптация
Размер 20 KB
P.S.: А если еще в файл .htaccess добавить вот эти правила mod_rewrite:
# Protect wp-comments-post.php from dumb bots
<IfModule mod_rewrite.c>
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*live.daemony.org.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>
то этим Вы запретите отправку данных скрипту wp-comments-post.php всем тем, кто пытается это сделать не со страницы Вашего блога. Так обычно работают спам-боты. Естественно, live.daemony.org следует заменить на свой адрес.
Похожие публикации
Теги: captcha, plugin, Wordpress, wp-comments-post.php, блог, защита от спама, капча, комментарии, плагины


меня вот тоже капчи изрядно напрягают, но сегодня поставил себе этакий аналог, там надо картинки перевернуть, посмотрим как она удит справляться с этим делом =) просто как-то поднадоели циферки и буковки……..
кому интересно всё в деталях офф сайт сего творения
Спамит тебе скорее всего живой человек. Допиши еще правила mod_rewrite, чтобы не могли постить в ручную из какой-то говноадминки (так делают некоторые, собирая базу блогов, вернее постов и потом оперативно из одного места автоматом не заходя на сайты рассылаются мессаги, вручную вводя капчи) У меня после установки этого плагина появился всего один раз один говнокоммент.
P.S.: Поставь еще (если не поставил) RC Link Redirector плагин, для превращения внешних ссылок во внутренние. Тогда точно пропадет охота постить комменты ради ссылки.
Поставил эту капчу, у меня и с ней прорываются.
ХА!
Боты-Гады отвалили. Плаг рулит!
Поставил у сибя.
Спасибо.
Многие боты научились ставить эти галочки и косят под хомосапиенса.
Раньше у меня тоже спама не было. Или был, но один-два коммента за день, но прошло время и…
А меня капчи напрягают. Ну разве что кроме той, где надо просто галочку поставить “я не робот” или человечка выбрать.
Но может еще придется и самому к этому придти. Пока-то спама не очень много, так несколько комментариев за день.
спасибо!!!!!
я тоже давно хочу избавится от акисмета
теперь наверное так и сделаю! O_O