Windows

WordPress капча: мой опыт использования. No CAPTCHA reCAPTCHA русская версия No CAPTCHA reCAPTCHA русская версия

Установка reCAPTCHA на сайт делится на 3 этапа:

  1. Регистрация и получение API key.
  2. Интеграция на стороне клиента.
  3. Интеграция на стороне сервера.

В данной статье мы рассмотрим процесс добавления Google reCAPTCHA в стандартную форму комментариев WordPress. Если ваш сайт работает под управлением другой CMS, рекомендую воспользоваться официальным руководством от Google .

Регистрация и получение API key

После авторизации в аккаунте Google, переходим на главную страницу Google reCAPTCHA и жмем на кнопку «Get reCAPTCHA».


Google reCAPTHCA — добавление нового сайта

После регистрации мы получим два ключа:

  1. Ключ сайта (Site key) – используется в открытом виде как идентификатор.
  2. Секретный ключ (Secret key) – используется на стороне сервера для связи с Google.

На этом подготовка к работе завершена.

Интеграция на стороне клиента

Интеграция Google reCAPTCHA на стороне клиента заключается в добавлении HTML-кода в шаблон сайта. Сделать это можно разными способами, но мы рассмотрим только наиболее правильный. Его суть заключается в использовании специализированных функций WordPress. При этом весь код добавляется в файл functions.php, не затрагивая других файлов, в частности файлов движка сайта.

Всего нужно выполнить 2 действия:

  1. Подключить скрипт reCAPTHCA api.js
  2. Добавить HTML-код блока reCAPTCHA.

Подключение reCAPTCHA api.js

Подключение нового скрипта в WordPress сводится к трем операциям:

  1. Регистрации скрипта при помощи функции wp_register_script().
  2. Инициализации скрипта при помощи функции wp_enqueue_script().
  3. Привязке функций к событию wp_enqueue_scripts при помощи функции add_action(). Для этого функции wp_register_script() и wp_enqueue_script() помещаются в еще одну функцию, которая вызывается в add_action().
add_action("wp_enqueue_scripts", "add_recaptcha_js", 5, 1);
function add_recaptcha_js() {
// Регистрация reCAPTHCA api.js, version - null, in footer - false
wp_register_script("recaptcha", "https://www.google.com/recaptcha/api.js?hl=ru", array(), null, false);
// Подключение reCAPTHCA api.js
wp_enqueue_script("recaptcha");
}

Добавление HTML-кода блока Google reCAPTCHA

В данном примере мы добавим код блока Google reCAPTCHA в конец стандартной формы комментирования WordPress, непосредственно перед кнопкой отправки. Для этого используем специально предназначенный для этих целей хук comment_form. При этом блок будет отображаться только неавторизованным пользователям.

Add_action("comment_form_after_fields", "recaptchadiv");
function recaptchadiv($post_id) {
global $user_ID;

if ($user_ID) {
return $post_id;
}
echo "

";
return $post_id;
}

Не забываем заменить site_key на свой ключ.

Интеграция на стороне сервера

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

Таким образом, для защиты комментариев WordPress нам потребуется две функции:

  1. Функция проверки ответа сервера Google.
  2. Функция предварительной обработки данных комментария.

Как и в случае интеграции на стороне клиента, весь код добавляется в файл functions.php.

Функция проверки ответа сервера Google reCAPTCHA

function verify_recaptcha_response() {
$recaptcha_secret_key = "secret_key";
$recaptcha_site_key = "site_key";
if (isset ($_POST["g-recaptcha-response"])) {
$captcha_response = $_POST["g-recaptcha-response"];
} else {
return false;
}
// Verify the captcha response from Google
$response = wp_remote_post(
"https://www.google.com/recaptcha/api/siteverify",
array(
"body" => array(
"secret" => $recaptcha_secret_key,
"response" => $captcha_response
)
);
$success = false;
if ($response && is_array($response)) {
$decoded_response = json_decode($response["body"]);
$success = $decoded_response->success;
}
return $success;
}

Не забываем заменить secret_key и site_key на соответствующие значения. Поскольку это пример, то значения задаются статично. Более правильным было бы сохранить ключи в настройках WordPress, как это будет сделано в плагине, но это немного усложнит код.

Функция предварительной обработки комментария

Завершающим этапом является написание функции предварительной проверки данных комментария и ее привязка к событию preprocess_comment.

Add_action("preprocess_comment", "preprocess_comment_cb");
function preprocess_comment_cb($commentdata) {
global $user_ID;
if ($user_ID) {
return $commentdata;
}
if (! verify_recaptcha_response()) {
echo "

Вы не прошли защиту от спама Google reCAPTCHA. Вернитесь на предыдущую страницу и повторите попытку.";
exit;
}
return $commentdata;
}

Таким образом, если в процессе комментирования пользователь не пройдет проверку Google reCAPTHCA, то ему выведется сообщение со ссылкой на предыдущую страницу. При этом после перехода по ссылке значения формы останутся заполненными.

Плагин защиты комментариев от спама

Для тех, кто любит простые решения, я написал плагин для защиты комментариев WordPress от спама при помощи Google reCAPTCHA. Для его использования вам необходимо:

  1. Установить плагин.
  2. Ввести ключи в настройках WordPress.

Ключи необходимо вводить на главной странице настроек WordPress (Меню -> Настройки). Поля станут доступны внизу страницы настроек сразу после активации плагина.


Если ключи не будут введены, то защита отключится без каких-либо ошибок или последствий для работы сайта.

Для придания отступов и других стилей, добавьте в файл style.css правило для класса g-recaptcha.

G-recaptcha {
}

Заключение

Использование Google reCAPTCHA в комментариях позволит избавится от автоматически распространяемого спама и значительно снизит нагрузку на базу данных сайта. В свою очередь, подключение плагина Akismet защитит вас от спама, распространяемого вручную. Таким образом, рекомендую использовать Google reCAPTCHA в связке с плагином Akismet. Это гарантирует практически 100% защиту от спама, за исключением редких случаев «хитрого спама».

На этом статья про установку Google reCAPTHCA подошла к концу. Если у Вас остались какие-то вопросы или пожелания, вы всегда можете оставить свой комментарий к статье.

Спам-регистрации могут стать головной болью для сайтов с открытой регистрацией. Одним из способов избежать этого, использовать CAPTCHA, которая эффективно блокирует спам-ботов как на странице входа, так и на странице регистрации. В сегодняшней статье мы покажем вам как добавить капчу в форму страниц входа и регистрации в WordPress.

Первым делом вам необходимо установить и активировать плагин Better WordPress reCAPTCHA . После активации плагин добавит новый элемент меню под названием BWP reCAPTв вашу административную панель. Клик по нему переместит вас на страницу настроек плагина.

Вас попросят указать public и private ключи API для использования Google recaptcha API. Для того, чтобы получить эти ключи, вам необходимо перейти на сайт reCAPTCHA и кликнуть на кнопку «Get reCAPTCHA».

На следующей странице нужно нажать на кнопку Signup или Sign in и залогиниться со своим аккаунтом Google. После того, как вы войдете, вас попросят указать названием домена, где планируется использовать reCAPTCHA.

Скопируйте и вставьте ключи public и private API на странице настроек плагина в административной панели WordPress. Ниже ключей API под разделом Plugin Functionality необходимо отметить две галочки рядом с опциями Registration form и Login form .

Плагин Better WordPress reCAPTCHA также позволяет вам добавлять reCAPTCHA в форму комментариев WordPress.

Вот и все, теперь можно нажать на кнопку Save Changes для сохранения проделанных изменений.

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

Мы надеемся, что эта статья помогла вам добавить CAPTCHA на страницу входа и регистрации в WordPress. Капча спасет от потоков спам-регистраций, спама в комментариях и в целом обезопасит ваш сайт от вредоносных ботов.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вам может быть интересно

Как избавиться от спама в комментариях WordPress за 5 минут (без капчи и без плагинов) Где скачать WordPress - только с официального сайта wordpress.org Пропало левое меню в админке WordPress после обновления
Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Как автоматически добавить атрибут Alt в теги Img вашего блога на WordPress (там, где их нет) Бесплатные темы и шаблоны для WordPress - где их можно скачать Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне Смайлики в WordPress - какие коды смайлов вставлять, а так же плагин Qip Smiles (красивые смайлики для комментариев) Как узнать ID рубрики, категории, записи или страницы в WordPress и как вернуть столбец с ID в админку Вордпресса Пустая страница при просмотре больших постов (статей) в WordPress
Как обновить WordPress вручную и автоматически, а так же плагин Database Backup для резервного копирования

Плагин Captcha — по праву можно назвать лучшим антиспам фильтром для WordPress. Минимум настроек, максимум защиты. Используется, что соответствует названия самого плагина, капча. Так часто любимая Гуглом или Яндексом, если вдруг у них закралось подозрение на нехарактерные (злые?) действия пользователя …

Скачать и установить:

  • Через админ панель: Плагины -> Добавить новый: Captcha (установить, активировать);
  • Или скачать: С оф. сайта — (переместить и разархивировать в Ваш_сайт/wp-content/plugins )

О плагине Captcha. Описание

Зачем некоторые подозрительные личности спамят — оставим вопрос для других. Но спам (инфо хлам в комментариях вашего блога, с ссылкой в непонятном направлении) будет постоянно стучаться к вам.

Можно поставить классическую связку: Akismet (постоянно обновляемая база данных спамеров, если где-то определенный адрес посчитали спамным, тут же его вносят в реестр) и Antispam Bee (плагин отслеживает характерные действия спам бота и блокирует его).

Но на практике, в чем вы сами можете убедиться, если поставите данные плагины: спам проходит. На посещаемость более 1000 ч/с до 15 сообщений. Да и понятно почему: спам боты переезжают на новые адреса и придумывают новые способы, как симулировать живого человека.

Это раз, что работают нормально, но недостаточно хорошо. И два — нагрузка на хостинг. Судите сами: Akismet нужно постоянно обновляться, а это лишние операции, выполнение функций, что и грузят ЦП хоста. Antispam Bee — ситуация подобная, хотя уже не помню насколько от «тяжёлый».

Вот, если бы был анти спам плагин для Вордпресс полегче, попроще и чтоб работал на все 100% (99%). И со временем я нашел его: .

Мощность данного фильтра — в лени большинства спамеров. Как правило, мусорят боты, вручную, через ввод капчи данным действием будут заниматься единицы, если вообще будут.

При наличии настройки самого ВП: Настройки -> Обсуждение -> Перед появлением комментария: Комментарий должен быть одобрен вручную . Защита на все 100%. Но в отличии от связки Akismet + Antispam Bee , на проверку попадают только от живых людей, спам ботных нет.

Еще добавлю. Что я пробовал и экспериментировал по разному со всеми этими плагинами. И скажу уверенно: можете сносить Akismet + Antispam Bee и им подобные, плагина Captcha для защиты от спама (плюс выше упомянутая настройка) — достаточно! (И не грузит хостинг).

Недостатки Captcha

В тоже время выявил пару недостатков: визуального и функционального характера.

  • Не пропускает некоторые почтовики . Так у меня одно время настойчиво не хотел пропускать адреса эл. почты с сервиса i.ua (недавно с Яндекс почты). Но со временем, после обновления — все было хорошо.
  • Часто визуально не гармонирует с шаблоном, с полем комментария. «Лечиться», но правит шаблон (особенно, если он часто любит обновляться) — надоедает.

Настройки Captcha

Итак, скачали и установили, активировали …

В меню админ част ВП появится:

Пройдем во вкладку с одноименным названием

Так вот, все на русском и понятном, кто этот самый русский знает. Я убираю только галочку с (*), не люблю умножать. Все остальное — оставляю, как есть.

Довольно неплохо. Но такая радужная картина может быть только на данном шаблоне. Т.е., как только установите данный плагин — проверьте, чтоб он действительно работал (вернее не запрещал комментарий), и то, как он выглядит.

Капча или “captcha” – наиболее распространенный метод защиты от спам-ботов и подбора паролей в формах сайта (страницы комментариев, авторизации, смены пароля и пр.) Капча является довольно эффективным способом повышения безопасности всего сайта в целом.

WordPress-плагины капчи

На WordPress-сайте, аналогично сайтам на других платформах, тоже присутствуют указанные страницы с формами, требующие защиты от злоумышленников. Отметим, что стандартные инструменты WordPress не имеют каких-либо функций для безопасности указанных разделов сайта. Поэтому для “движка” разработано и успешно применяются десятки плагинов, обеспечивающих работу капчи. Рассмотрим наиболее популярные из них среди пользователей.

Плагин Google Captcha (reCAPTCHA) by BestWebSoft

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

Плагин Spam Master

Spam Master – функциональный плагин, поддерживающий капчу Google (reCapcha) . В его обязанности входит защита от миллионов известных спам-писем, доменов, IP -адресов и слов, блокируя регистрацию пользователей или оставление комментария.

Плагин Captcha Bank: Anti Spam Captcha Plugin

Captcha Bank: Anti Spam Captcha Plugin имеет мощные инструменты для защиты сайта от спамеров, не конфликтуя с дополнительными плагинами безопасности.

Основные возможности плагина:

  • простые математические операции;
  • текстовые коды с возможностью настройки их внешнего вида (цвет текста, фон, стиль и пр.);
  • сложные капчи с линиями, искажениями, резкостью и прозрачностью;
  • регулирование показа капчи на формах входа, регистрации, комментариев;
  • поддержка популярных WooCommerce , BuddyPress , Contact Form 7 ;
  • возможность отключения капчи для зарегистрированных пользователей.

Плагин Captcha Code

Простой плагин Captcha Code вставляет капчу на все необходимые формы. Вы можете выбрать страницы, на которых необходимо установить капчу, а также указать тип цифр, их внешнее оформление. Плагин полностью локализирован на русский.

Плагин Uber reCaptcha

Uber reCaptcha – довольно интересный плагин, имеющий поддержку аудиофайлов и изображений. Среди возможностей дополнения можно выделить генерацию типа изображения/звука капчи Google (reCapcha) на нескольких заданных языках. Добавляет защиту в формы регистрации, восстановления пароля и комментирования.

Плагин Conditional CAPTCHA

Conditional CAPTCHA – плагин, предназначенный для установки капчи исключительно в форму комментирования. Он работает совместно с плагином Akismet , показывая комментаторам простую капчу, если они не имеют предварительно одобренных комментариев, или если Akismet считает, что их комментарии являются спамом.

Плагин может работать в 2-х режимах: базовый и Akismet Enhanced . Кроме того, Вы можете использовать дублированную капчу.

Плагин также дает возможность настроить внешний вид страницы, на которой установлена капча.