Как установить капчу на вордпресс. Антиспам для WordPress. Плагин Captcha. Где нужна капча

Установка ReCaptcha на сайт может стать отличным способом для защиты от спам-ботов. Благодаря этому можно уберечь свой проект от спам-комментариев или регистраций ботами. В этой статье вы узнаете, как поставить такой вид каптчи на свой сайт с использованием плагина для WordPress.

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

ReCaptcha на сайт с плагином Advanced noCaptcha reCaptcha

Для начала скачайте себе плагин Advanced noCaptcha reCaptcha по ссылке ниже.

Установите плагин на свой сайт и активируйте. После этого в консоли появится новый пункт «Advanced noCaptcha». Перейдите в него.

Начать работу следует с получения «Site Key» и «Secret key», которые нужно ввести в соответствующие поля в настройках плагина.

Чтобы получить эти данные, перейдите сюда (вы должны быть залогиненны в Google). Перед вами появится форма, которую нужно заполнить: в поле «Название» запишите наименование вашего проекта, в поле «Домены» — адрес сайта. Также рекомендую оставить галочку «Отправлять владельцам оповещения», это позволит получать уведомления, если будет подозрительно активная атака ботов или возникнут какие-то ошибки.

После заполнения формы нажмите «Регистрация».

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

Затем скопируйте код из поля «Секретный ключ» и вставьте его в настройках плагина в поле «Secret key».

  • Language. Язык ReCaptcha на сайте рекомендую оставить по умолчанию – «Auto detected», то есть он будет определять автоматически.
  • Theme. Есть два вида оформления ReCaptcha – светла и тёмная. Подберите что-то под цвет вашего дизайна сайта.
  • Size. Есть два вида размера – нормальный и компактный. Тоже выбирайте относительно вашего дизайна.
  • Error Message. Сообщение об ошибке лучше перевести на русский язык. Например, вместо того, что там написано по умолчанию, можно указать «ОШИБКА! : Пожалуйста, пройдите каптчу правильно». Или что-то аналогичное на своё усмотрение.
  • Show Captcha on. Можно настроить, у каких форм будет отображаться ReCaptcha на сайте, например, формы авторизации, регистрации, сброса пароля, комментирования, поддерживаются также формы плагинов BBPress и WooComerce.

Почти все плагины этого обзора, постоянно обновляются, что говорит о возможности продолжительного использования.

Что такое Captcha

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

Зачем нужна Captcha

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

Виды captha

Ребус

Самый сложный, редко встречаемый вид captha. Всем знаком по сервисам Google. На картинке капчи вам предложат выбрать три картинки с машинкой или фруктами.

Буква

Буквенная или буквенно-цифровая капча, заставит вас повторить набор цифр и/или букв в окне капчи. Цифры могут быть искажены.

Цифры

То же что и буквы.

Математика

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

Где нужна капча

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

  • При регистрации;
  • В формах комментарии;
  • В формах авторизации;
  • В формах подписки сторонних плагинов;
  • В обратной связи;
  • В форме напоминания пароля и имени пользователя;
  • Пользовательской форме.

Системная капча WordPress

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

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

Как правило, массовая, машинная регистрация псевдо пользователя это прелюдия взлома, направленная на .

Captcha плагины WordPress

Повторюсь, система WordPress не имеет инструмента Captcha, поэтому желание защититься от машинной регистрации капчей нужно оформить установкой профильного плагина.

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

Капча (Captcha) — специальный защитный код, который позволяет избежать спама на сайте. Добавляется, как правило, в разные формы на страницах — регистрации, комментариев, логина и т.п. Это позволяет отсеять большинство ботов, автоматически их заполняющих. Код состоит из букв и цифр, что иногда искажаются разными эффектами и преобразованиями. Однажды с плагинами капчи я уже сталкивался — это был простенький Really Simple CAPTCHA для формы обратной связи Contact Form 7. Сегодня решил поискать что-то для страницы регистрации пользователей, так как в одном из проектов регулярно начали ее спамить. В итоге удалось отобрать 5 лучших плагинов, каждый из которых имеет свои отличительные особенности и плюсы.

Captcha by BestWebSoft

Отличительной особенностью (ссылка на детальный обзор) есть использование разных математических уравнений. Это позволит защитить ваш сайт не только от ботов, но и убережет от неадекватных и неразумных пользователей (которые местами попадаются). Традиционно можно настроить его для любых форм в системе — от регистрации до комментариев. Доступны практически все языковые версии, в том числе и русская. Требования к WordPress — от версии 2.9, последний релиз — 8.02.2013 и более 400 тыс. загрузок.

Основные функции плагина Captcha: поддержка базовых математических функций — сложения, вычитания, умножения, использование при этом как цифровых, так и словесных выражений. Установка традиционная, настройки можете видеть на картинке выше. Лично мне очень понравилась такая вариация капчи, причем не нужно всматриваться в какие-то искаженные буквы, гадать что вообще там на картинке изображено, а просто включить мозг. Отличный модуль!

Отличный вариант для тех случаев, когда вы хотите «потестировать» умственные способности аудитории. Пользователю придется решить простой уравнение дабы пройти защиту. Детальнее о решении читайте в . Из преимуществ Math Captcha я бы назвал совместимость с Contact Form 7, а также наличие большого числа настроек: выбор места появления капчи, используемых математических операций, отображение задания из цифр или в виде текста и др.

Модуль один из самых простых, что мне встречались. Поэтому я начал с него — установка и настройка капчи заняла, наверное, минуты 2-3. Он добавляет защитный код в разные формы сайта — регистрационную, комментарии и форму логина. Код отображается в виде простых синих символов (цифр и букв), зачеркнутых несколькими линиями. «Помехи» защищают картинку от распознавания разным софтом, а пользователям будет увидеть код не так уж и сложно.

После установки в настройках модуля администратор может выбрать какие символы и сколько их использовать в капчте, а также для каких именно форм выводить. Имеется локализация плагина, поэтому во всем легко разобраться. Определенно самым большим преимуществом есть простота и скорость настройки + капча, в принципе, нормальная. Для работы потребуется версия вордпресс старше 3.0, модуль загрузили около 10 тыс. раз, а последнее обновление было 16.01.2013.

WP-reCAPTCHA (закрыт)

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

Для интеграции этой капчи в систему wordpress как раз и используется модуль WP-reCAPTCHA. Установка его классическая, но после активации в системе вам нужно будет получить специальный ключ. На этой же странице, кстати, найдете всю необходимую информацию для разработчиков, которая касается reCAPTCHA.

В настройках модуля WP-reCAPTCHA вы можете выбрать: активацию капчти для комментариев и/или формы регистрации, внешний вид (тему) капчти, язык, HTML стандарт отображаемого кода, тексты сообщений об ошибке. Единственное, что смутило — поддержка до 2.9.2 версии вордпресс и последнее обновление в начале 2012 года, но загрузок почти 400 тысяч.

SI CAPTCHA Anti-Spam (закрыт)

Плагин SI CAPTCHA Anti-Spam наиболее часто встречался в разных подборках — я так понимаю это самый популярный модуль по каптче. Он позволяет добавить защитный код ко всем (или избранным) формам в вордпресс — регистрация, забытый пароль, логин, комментарии. Без проблем совместим с Akismet, а также работает в WPMU и .

В данном модуле используется бесплатная Open-source разработка (библиотека) под названием PHP CAPTCHA. В изображении имеется абстрактный фон, цветные, искаженные символы, а также разные «помехи» в виде кривых поверх текста. Есть кнопка «обновить капчту», если сложно ее прочитать.

Что касается особенностей самого плагина SI CAPTCHA Anti-Spam, то там найдете: разные настройки, валидный HTML код, отображение/показ защитного кода для разных форм или залогиненых или нет пользователей (актуально при комментировании). Поддерживается локализация. Модуль работает с вордпресс от 2.9 до последних версий, актуальное обновление 6.01.2013 и всего 1,5 млн скачиваний.

Secure CAPTCHA (не актуален)

Напоследок приберег более-менее новую для меня каптчу, которую еще не встречал — Secure CAPTCHA. В изображении для защитного кода используется рукописный текст. Из-за этого программам-дешифровщикам сложно разделить разные буквы для взлома капчи, которая понятна будет только человеку. Кроме того, для всего слова можно использовать еще какое-то преобразование дабы дополнительно запутать ботов.

По словам разработчиков за счет того что буквы хорошо выделяются от фона, не нужно особо всматриваться в изображение. Хотя, если честно, мне местами все равно трудно понять что же там написано. Чтобы использовать данную капчту, после установки и активации вам нужно будет зарегистрироваться на сайте разработчиков и получить специальные ключи. Далее в настройках выбираете какую именно форму вы хотите защитить от спама. Модуль скачали не так много людей — всего 5200, хотя в целом идея достаточно интересная. Для работы понадобиться версия вордпресс 3.1 и выше.

Конечно, это далеко не все плагины для капчи в WordPress, их существует намного больше, причем есть куда более изощренные и необычные — складывание картинки из частей (как в пазлах), выбор специального изображения из представленных в каптче и т.п. Я упомянул в посте лишь те, которые наиболее часто упоминались в подборках разных модулей + сразу нашлись при поиске. Первые 4 — определенно находка, я бы спокойно использовал каждый из них на своих и разрабатываемых сайтах.

Установка 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 подошла к концу. Если у Вас остались какие-то вопросы или пожелания, вы всегда можете оставить свой комментарий к статье.

Loading...Loading...