Как запретить автоматический спам

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

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

В файл .htaccess вставьте следующий код:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Не забудьте указать вместо yourdomainname домен вашего сайта – все, кто загрузят файл wp-comments-post.php со страниц, принадлежащих этому домену, смогут оставить комментарий. Конечно, способ не дает полную защиту, потому что боты тоже стали умными, но 99% автоматического спама может остановить.

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

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

6 Комментарии

    • Мне кажется, Antispam Bee отсеивает спам с помощью скриптов Java. В нем есть проверка IP-адреса, но по реферальной ссылке он не определяет спам. Вру, есть такая проверка, если в настройках не отмечать чекбокс “Comments are also used outside of posts and pages”.

  1. В файл .htaccess вставьте следующий код:
    Что-то файл этот у себя не найду…Где искать его?

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*