Проблемы с плагином DCaptcha после обновления WordPress

2

Не так давно обновил движок WordPress до версии 2.9.2, а затем, через некоторое время, заметил, что в комментарии стали сыпаться буквально тонны спама. Меня это удивило, так как раньше установленный плагин DCaptcha прекрасно с этой проблемой справлялся. Нетрудно было догадаться, что причиной возникновения проблемы стало обновление движка. Толи плагин теперь не цепляется, толи это просто какая-то уличная магия.

На самом деле, все оказалось гораздо проще. Если вы когда-нибудь смотрели на то, по какому принципу работают различного рода каптчи под WP, наверное обращали внимание, что почти все используют функцию wp_set_comment_status(), которая меняет статус комментария, если он не прошел проверку на спам. Если проверка кода безопасности не прошла, комментарий получал статус “delete” и растворялся в пространстве.

С выходом одной из версий линейки WordPress 2.9, в движке появилось такое понятие, как корзина. То есть, теперь комментарии и посты не удаляются сразу, а помещаются в корзину, откуда их можно восстановить, если потребуется. И теперь флага “delete” не существует как такового. То есть, когда плагин каптчи использовал функцию wp_set_comment_status() со статусом “delete”, с комментариями ничего не происходило и они успешно публиковались в топиках.

Решается проблема очень просто. Замените в вызове функции значение второго параметра – “delete” на “trash”, после чего весь спам будет сыпаться в корзину. Для плагина DCaptcha это делается в файле / wp-content/ plugins/ dimoning.ru-captcha.php.

Меняем:

1
wp_set_comment_status($id, 'delete');

на:

1
wp_set_comment_status($id, 'trash');

Да прибудет с вами сила в борьбе со спамом!

Автор: Мурашов Олег
Источник: http://inroot.ru/

WordPress

Комментарии (2 комментариев)

  1. есть некоторые капчи, которые просто выводят из себя, хочешь к интересной статье оставить коммент, так после 5 раза понимаешь, что ты “БОТ” с большой буквы…

  2. Олег Мурашов, сентября 5, 2010 at 13:25 Сказал:

    Как мне кажется, DCaptcha достаточно удачное и простое для пользователя решение. Никаких цифр или букв. Просто чекбокс отметить…

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