n-wp.ru — блог о WordPress

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

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

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

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

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

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

6 комментариев