Спасительная капча или Как бороться со спамом-2.

Здравствуйте. Приветствую всех на страницах блога Blogowest.ru!

Сегодня я продолжу исследование темы защиты от спама, которую подняла недавно  в статье Как бороться со спамом. Настолько ли эффективна и спасительна капча «Я не робот», как кратко ее называют. Ну что ж, вот появились некоторые результаты работы этого плагина DCaptcha. Открываю я вчера блог и наблюдаю такую вот веселенькую картину:

защита от спама, каптча, капча

Блог слегка засыпало англоязычным спамом.

Вижу по текстам комментов, особым остроумием или разнообразием они не отличаются, везде очень хвалят блог и «добавляют в закладки», и «восхищаются нашим талантом»)).

Что мне не понравилось в работе капчи

А что же наша капча, которую мы установили, как она справляется со своими задачами? Как её установить, можно посмотреть в видео к статье Как бороться со спамом.

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

защита от спама, каптча, капча

Но вот то, что спам комментарии были отправлены на ручную модерацию, а не удалены сразу мне не понравилось. Как исправить этот недочет в работе капчи? Как мы помним, она у нас реализована плагином DCaptha. Поэтому нужно посмотреть ее код, и попытаться поправить его работу.

Для этого идем в Консоль>Плагины>Редактор, в строчке Выберите плагин для изменения в правом верхнем углу экрана выбираем DCaptha.

Внести изменения можно прямо из админки, не прибегая к FTP. Ищем в коде кусок, который отвечает за действия с пойманным спамом. Здесь нужно немного поэкспериментировать.  Скорее всего, это что-то вроде  delete (удалить) или trash (корзина).

Жмем Ctrl+F и в открывшемся поле вводим delete. Находим место с логическим оператором if.

if ($_POST['dcaptcha_sess'] != get_num()){

wp_set_comment_status ($id, 'delete');

Так и есть.

Пробуем поменять delete на trash.

if ($_POST['dcaptcha_sess'] != get_num()){

wp_set_comment_status ($id, 'trash');

Сохраняем сделанные изменения, жмём Обновить файл, выходим из админки и идём на блог.

Пробуем сами себе спамить, то есть отправлять комменты без галочки. Все получилось! Данные сообщения попадают прямиком в корзину, чего мы и хотели. Теперь, если накидали на блог спама, достаточно просто нажать кнопку Очистить корзину. Оптом, так сказать, не перебирая этот хлам вручную.

Может быть здесь в тексте это не совсем понятно, но я записала подробнейшее видео, как подправить код капчи, и он успешно прошел полевые испытания, то есть порезанные спам комменты попадают теперь в корзину. Смотрим видео, там я постаралась рассказать все очень подробно. Поставьте режим HD для лучшего просмотра.

Команда BlogoWest.ru

2 Responses

  1. Димон 10.12.2011 at 1:56 пп #

    а у меня чето все каменты пролазят один спам

  2. Лилия 14.12.2011 at 1:15 пп #

    Посмотрите, правильно ли вы настроили капчу, сделайте ВСЕ как в видеоуроке, все должно плучиться. Все чтонужно будет делать, так это чистить корзину))