n-wp.ru — блог о WordPress
Защита комментариев от спама: наиболее эффективные методы защиты от автоматического спама – код | n-wp.ru

Защита комментариев от спама: наиболее эффективные методы защиты от автоматического спама – код

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

Защита комментариев от спама: наиболее эффективные методы защиты от автоматического спама – код В посте Защита комментариев от спама: наиболее эффективные методы защиты от автоматического спама – плагины я указал на три плагина, являющихся по моему мнению самыми эффективными в борьбе со спамом в комментариях: Akismet, WP-Hashcash и Antispam Bee. Однако есть и другие способы больбы с автоматическим спамом, применяя которые можно и вовсе обойтись без плагинов.

Эти способы основаны на общих признаках, характерных для автоматического спама: обращение напрямую к файлу, отвечающему за публикацию комментариев, и заполнение данными стандартных полей формы комментирования. Можно использовать эти признаки поведения скриптов (ботов), чтобы запретить отправлять спам в комментарии блога.

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

Этот код проверяет, откуда идет обращение к файлу wp-comments-post.php, отвечающему за размещение комментариев. Если он идет не со страницы вашего блога, то прямое обращение к файлу запрещается. Так как боты не заходят на страницы блога, обращаясь напрямую к файлам, то они блокируются.

Подробнее: http://n-wp.ru/7379

Этот метод действует безотказно в 99% случаев. Однако остается 1% ложных срабатываний — они происходят из-за нестандартных форм комментирования и сложных кодов, используемых на страницах: если адрес, с которого пришел комментатор, определяется неправильно, то он не может оставить комментарий. Поэтому стоит рассмотреть еще один способ, являющийся самым эффективным в борьбе с автоматическим спамом.

Этот способ не запрещает обращаться напрямую к файлу, отвечающему за публикацию комментариев, даже наоборот, такое обращение поощряется. Он основан на том, что бот (скрипт) использует для публикации спама поля в форме комментирования, считающиеся стандартными, заполняя их своими данными. Если незаметно подменить эти поля на другие, и проанализировать заполенные поля, то можно понять, кто оставил комментарий, человек или бот. Для этого в форму комментирования вводится одно поле-ловушка, которое выдается за стандартное. В обычной форме комментирования всегда встречаются три поля. Пример:

Спам-бот ищет поля input с маркерами name=»author», name=»email» и name=»url». Достаточно их заменить на другие (свои, нестандартные), и спам не будет опубликован. Пример:

Бот не знает, что вы используете свои, нестандартные поля для ввода данных комментария, и будет искать и заполнять стандартные поля (которые, кстати, можно не удалять, просто скрыв их видимость). Понятно, что у него ничего опубликовать не получится. Но и у реального человека ничего не получится, если не изменить файл движка wp-comments-post.php, в котором указано, какие поля формы комментариев за что отвечают. Стандартные поля выглядят в нем так:

Мы же используем нестандартные поля, поэтому нужно изменить стандартные поля на наши:

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

Подробнее: http://n-wp.ru/7948

Этот способ дает 100% защиту от автоматического спама, причем довольно гибкую: если какой-то скрипт специально изменили, ориентируясь на поля формы комментирования вашего блога (а в реальности никто не будет редактировать скрипт конкретно под ваш сайт, если он, конечно, не имеет миллионные показатели посещаемости), то вы можете за минуту изменить их на другие.

Однако высокая степень защиты имеет и обратную сторону — вам нужно вручную редактировать файл движка и файл темы.

tiaurus

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

Комментировать

/* ]]> */