reCAPTCHA — простейшая капча «Я не робот» от Google

16 Январь, 2016

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Буквально чуток времени хочу уделить относительно новой капче от Гугла (она около года назад была анонсирована), которая пришла на смену старой и замороченной. Раньше наверное мало кто из блогеров, находящихся в своем уме, мог бы поставить детище Google на свой сайт или блог — уж очень муторно было разгадывать предлагаемые там буквенные ребусы. Все удобство комментирования терялось.

Собственно, в то далекое время я пользовался еще отлично работающим плагином DCaptcha. Для его прохождения нужно было просто поставить галочку в поле «Я не робот» и все (это самая простая капча из всех возможных). Если галочка не ставилась, то сообщение падало в корзину в админке WordPress, либо при отключенной корзине (как в моем случае) просто в базу не добавлялось. Идеальный вариант, по-моему, ибо никаких особых неудобств комментатору это не создавало.

reCAPTCHA Я не робот для WordPress

Потом этот плагин работать перестал, и я где-то полгода с успехом пользовался хаком с подменой форм для ввода комментария, но и этот метод перестал работать после обновления WordPress до версии 4.4. За это время я попробовал парочку плагинов, которые отсеивали спам на основе анализа адресата и содержания (Antispam Bee и CleanTalk). Первый довольно много путал (спам в не спам, а неспам в спам), а второй вопреки ожиданиям не снижал, а увеличивал нагрузку на сервер (да еще и платный к тому же).

В общем, решил вернуться к проверенному методу - установки простейшей из существующих капч. DCaptcha уже не работает, но зато гигант Google серьезно упростил свою изначально монструозную reCAPTCHA и свел всю проверку к той самой установке галочки «Я не робот». К сожалению, я слишком туп, чтобы понять как это дело прикрутить к сайту без плагина (хотя и пробовал), поэтому пришлось воспользоваться услугами плагина No CAPTCHA reCAPTCHA. Но обо всем по порядку.

Методы снижения спам-нагрузки и почему именно reCAPTCHA?


Как вы наверное знаете, спам бывает ручной и автоматический. От первого можно защититься только включением обязательной модерации всех входящих сообщений перед их публикацией на блоге — тогда наверняка никакая «редиска» не прорвется.

Обязательная модерация комментариев в WordPress

Но ручной спам, как правило, представляет из себя хиленький ручеек по сравнению с полноводной рекой автоспама. Последний может генериться, например, Хрумером в просто фантастических объемах. Лично меня больше раздражает даже не то, что в сутки приходит несколько сотен спамных комментов в мою адмнинку WordPress, а то, что они бывают чудовищно длинными и устаешь их прокручивать до кнопки «Удалить». В общем, проблема сия реальна и тем более актуальна, чем популярнее будет ваш блог.

С ручным спамом бороться нет смысла (из-за обреченности этой борьбы и из-за его несущественного объема), но вот с автоспамом нужно что-то делать. Тут как бы есть два основных подхода:

  1. Фильтровать уже добавленные в базу WordPress комменты на предмет спам/неспам и распихивать их по соотвествующим папочкам. К сожалению, плагины, работающие по такому принципу, выдают много брака и просто так очищать папку «Спам» без просмотра ее содержимого не получится, если вы не хотите потерять десятки действительно ценных комментариев отправленных активными читателями вашего блога.
  2. Прикрутить к форме добавления комментария дополнительную проверку на то, кто именно оставляет это сообщение — живой человек или бот. Задача по выявлению этого различия называется тестом Тьюринга и решается в подавляющем большинстве случаев с помощью так называемой капчи (образовано от CAPTCHA, которое является аббревиатурой от набора умных слов). Основной проблемой этого метода борьбы со спамом является то, что вы напрягаете комментаторов разгадыванием «ребуса» (капчи), что может отбить у него вообще какое-либо желание продолжать пытаться оставить сообщение.

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

Вот так реКапча от Гугла будет выглядеть для 99.9% посетителей вашего сайта:

reCAPTCHA от Google

Ну и вот так, в случае возникновения форс-мажора (если алгоритм после проведения десятка тестов на человечность все же засумлевается):

Сложная рекапча от Гугла

Ну, как бы выбор сделан — надо реализовывать.

Регистрация сайта в reCAPTCHA и установка ее на свой блог


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

Регистрация представляет из себя просто как указание названия и доменного имени вашего сайта, где эту саму капчу вы планируете использовать:

Регистрация в Google reCAPTCHA

После этого вы попадете в админку сервиса reCAPTCHA для вашего сайта (имеет смысл, наверное, добавить ее в закладки браузера). Со временем там будет отображаться статистика по работе данной капчи, ну, а пока самое важное, что мы отсюда можем почерпнуть — это как раз те самые ключи, без которых «Я не робот» работать не будет:

Получение ключей для reCAPTCHA

Чуть ниже приведена инструкция по установке. В области «Интеграция на стороне клиента» все понятно, но простой установки приведенного кода в указанные места не достаточно. Капча отображаться будет, но спам фильтроваться не будет. В области же «Интеграция на стороне сервера» мне вообще ничего не понятно. Туповат я для этого.

Посему было принято решение использовать плагин для интеграции reCAPTCHA в WordPress, благо, что вариантов таких плагинов достаточно много (читайте где брать плагины для Вордпресс). Правда, штуки три из них у меня не заработали (капча в области добавления комментариев не появлялась). После нескольких неудачных попыток пришлось обратиться за решением к умным людям, где и был замечен и в последствии успешно установлен плагин с замысловатым названием (типа масло не маслянное) — No CAPTCHA reCAPTCHA.

Настройка и работа плагина No CAPTCHA reCAPTCHA в WordPress


Ну, собственно, заходите в админку WordPress, из левого меню выбираете «Плагины» — «Добавить новый», вводите в поисковую строку No CAPTCHA reCAPTCHA и производите установку. Не забываете его активировать, а затем обычным способом заходите в его настройки (внизу левого меню вы найдете новый пункт «No CAPTCHA reCAPTCHA»).

No CAPTCHA reCAPTCHA

Собственно, тут из всех настроек самым важным является опять же ввод полученных чуть выше ключей на сайте reCAPTCHA:

Ввод ключей рекапчи

После сохранения этих изменений плагин сразу встает на защиту ваших комментариев от спамеров.

рекапча установленная в WordPress

И не только комментариев. В настройках можно защитить с помощью этой капчи и форму входа в админку WordPress:

Ввод в админку WordPress защищен reCAPTCHA

Еще в настройках можно заменить светлую цветовую гамму рекапчи на темную, а также либо предоставить капче самой угадывать язык пользователя, либо установить его принудительно.

Настройки плагина No CAPTCHA reCAPTCHA

Собственно, все. Я пока не стал принудительно сбрасывать кеш в WordPress (обновил лишь те статьи, к которым традиционно Хрумер не равнодушен), поэтому reCAPTCHA отображается не на всех страницах. Каких-то нареканий в работе пока замечено не было.

Да, уже упоминал, но скажу, что отсеянные комментарии (которые вводились в форму без установки галочки в поле «Я не робот») автоматом попадают в корзину, если она у вас не отключена (читайте как отключить корзину в WordPress).

Спам отсеянный reCAPTCHA попадает в корзину WordPress

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Еще:

Рубрики :Основы WordPress

Комментарии и отзывы

seoonly.ru

Хрумер то не пробивает?

Тимофей

а плагин akismet тогда нужно удалить ?

Artem

Отличная идея, сам увидел, что такой штукой пользуются многие сайты. только у меня проблема, почему-то окошко «я не робот» появляется ниже кнопки «добавить комментарий» Как бы это исправить?

Иван

Я тоже поначалу долго и нудно удалял комменты (в основном англоязычные, китайские ...), но после подключения Akismet проблемы исчезли: все комменты идут в спам и я время от времени нажимаю «удалить спам» и всё. Проблема исчезла. Хотя, если установить эту капчу, то может комменты вообще не будут попадать на сайт, но это, по-моему, не принципиально. Разве что отражается на SEO, где увеличивается каждый раз количество отрицательных ссылок( с сайта).

Porter

Спасибо, статья очень вовремя и очень помогла. Установил себе на сайт — доволен.

Alex

Проблема в том, что при неправильном вводе, чтобы обновить рекапчу, приходится обновлять всю страницу. А как же написанное сообщение? Заново вбивать?

Виталий

Спасибо за совет. Обязательно попробую в действии.

Dmitry

А в чем прикол этой проверки?

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

Дмитрий

Dmitry: ну, весь прикол как раз в том, что одна лишь галочка является непреодолимым препятствием для спамма. Картинки же появятся в том случае, если эта капача заподозрить в Вас нечеловеческие черты, если так можно выразится.

Андрей

Спасибо, добрый человек! Очень помогло!

Евгений Харлан

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

Илья

А каким образом (по какому алгоритму) работает новая гугловская капча? (Как раз она и стоит на этом сайте)

Сергей

Это самая большая гадость, которую только могли придумать! То и дело попадаются однообразные картинки, как на заевшей пластинке — номера домов, витрины, реки. И всё! И при нажатии на картинку она постепенно пропадает! Ни на один сайт, который использует эту погань, невозможно зайти!

Подписаться не комментируя