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