Сегодня меня окончательно достал автоматический спам в комментариях: Akismet пропустил десяток спамных комментариев от всяческих “Гинекологов” с сообщениями типа “Очень было интересно читать, спасибо!” и “Даже моей маме понравилось )“. Плюс несколько десятков спамных комментариев он поймал, но ежедневно просматривать попавшие в спам комментарии на предмет попадания туда по ошибке нормального комментария меня утомило. Варианты с премодерацией и обязательной регистрацией в блоге я не рассматриваю – премодерация не отменит необходимости просмотра спама, а обязательная регистрация в блоге автоматом снизит активность комментирующих раз в 10 минимум. Установка капчи меня также не устраивает: во-первых, она тоже снижает активность читателей блога, ну и во-вторых, что будет с вашим комментарием, если вы ошиблись в вводе капчи? Правильно, текст уже написанного комментария исчезнет. Такой фигней страдают практически все анти-спам плагины. У того же Макса неправильно введенная капча приводит к потере комментария, если вы не удосужились перед отправкой его скопировать. Я пересмотрел сегодня пару десятков анти-спам плагинов – “человеческих” среди них нет. Такие плагины по большей части вредят именно нормальным посетителям блога, но никак не спамерам, которым потеря комментария в одном из десятков тысяч блогов никак не страшна. Единственную “человеческую” капчу я увидел в блоге zarabotai. lv: никакого гиммора с вводом символов, кликнул на нужной картинке и готово. И уж точно никаких ошибок при вводе.
К сожалению, там капча самописная и не под WordPress. Впрочем, будь такая капча доступной всем спамеры ее моментально бы научились пробивать. Но неважно. Поговорим лучше о том, каким образом остановить потоки спама в комментариях. Первое: весь классический спам с 2-мя или больше ссылками в сообщении, а также весь зарубежный спам ловится тем же Akismet‘ом на ура и о нем беспокоиться не стоит.
Второе: грамотный ручной СМО-спам отловить можно только зайдя на сайт комментирующего и не иначе. Многие блогеры оставляют такие спамные комментарии у себя в блоге, если сообщение действительно оставлено по теме и состоит не из 2-х слов. Ловить автоматом такие комментарии невозможно в принципе. Третье: автоматический СМО-спам, получивший просто невероятный размах в последнее время. Характеризуется нейтральными комментариями, которые можно разместить почти в любом блоге.
Ловится Akismet‘ом, но только в конечной стадии распространения. То есть когда такой комментарий уже пометят как спам несколько сотен блогеров. Как видно, наибольшие проблемы доставляет автоматический СМО-спам и именно с ним мы будем бороться. Чем он характеризуется кроме как нейтральными текстами комментариев? Тем, что он заточен под блоги на WordPress. Именно WordPress предоставляет возможность оставить ссылку на сайт комментирующего плюс это самый популярный блог-движок среди автономных блогов. Заполнить скриптом форму комментирования в блоге под управлением WordPress легче простого – названия ее полей не нужно даже распознавать, они заранее известны и любой школьник может за полчаса накатать автоматическую постилку в комментарии. Так что самый простой способ отсечь спам-скрипты это обмануть их, подсунув левое поле для заполнения, а в действительности, использовав другое поле, не со стандартным именем. Идею подглядел тут, правда решил изменить используемое поле с email на comment. Дело в том, что использование одинаковых имен полей в блогах на WordPress имеет и свои плюсы: если вы где-то заполнили свое имя и имейл, то в другом блоге вам не надо полностью вводить их, достаточно лишь кликнуть на нужном поле и браузер покажет вам подсказку. Поле с комментарием такой возможностью естественно не обладает и именно поэтому его и стоит использовать для обмана спам-скриптов.
Сначала открываем файл comments. php вашего шаблона и ищем там что-то похожее на: