Wordpress captcha на комментарии. WordPress капча: мой опыт использования. Функция предварительной обработки комментария

Капча или “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 . Кроме того, Вы можете использовать дублированную капчу.

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

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

Что такое Captcha

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

Зачем нужна Captcha

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

Виды captha

Ребус

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

Буква

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

Цифры

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

Математика

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

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

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

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

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

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

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

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

Captcha плагины WordPress

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

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

Спам-регистрации могут стать головной болью для сайтов с открытой регистрацией. Одним из способов избежать этого, использовать 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. Капча спасет от потоков спам-регистраций, спама в комментариях и в целом обезопасит ваш сайт от вредоносных ботов.

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

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

Всем большой привет! Вот и наступил тот момент, когда мне до чёртиков надоело очищать корзину от различного хлама - кучи ссылок и я решил усилить защиту комментариев от спама с помощью плагина Captcha . Прежний плагин Amcaptcha перестал меня устраивать, боты спокойно его обходили, умеют козлы ставить галочку "Подтверждаю, что я не спам - бот". Прикольно получается, боты подтверждают, что они не боты. И в добавок к этому, плагин уже четыре года не обновлялся. Теперь ему место только на свалке истории.

Для того, чтобы испортить жизнь спам - ботам плагин Captcha предлагает решить элементарную математическую задачку перед отправкой комментария в блог. Если вы человек, то сложить, вычесть или умножить, например 2 и 1 вам не составит большого труда, а спам-боту это не по силам. После добавления математической капчи к стандартной форме комментариев, моя корзина для спама абсолютно пуста. Ура товарищи! Советую и вам друзья, защитить свой сайт от спама с помощью популярного модуля Captcha (на сегодняшний день его скачали уже более 2,124,099 раз).

Установка и настройка плагина Captcha - защита сайта WordPress от спама

Плагин Captcha защита сайта от спама

Устанавливаем плагин стандартным способом, через админку сайта. Плагины - Добавить новый и в поле для поиска вводим название плагина, нажимаем на клавиатуре Enter:

Установка плагина Captcha через админпанель сайта

После успешной установки и активации плагина, у вас появится дополнительный раздел в панели управления - BWS Plugin и подраздел Captcha. Вот и на Captcha кликните мышкой. Русский язык присутствует, поэтому проблем с настройкой модуля не будет. На открывшейся странице настроек вам нужно отметить галочкой, где вы хотите отображать математическую капчу. Бесплатную версию плагина можно использовать для стандартных форм , регистрации, входа на сайт, а также для формы восстановления пароля:

Затем, придумайте заголовок для CAPTCHA в форме комментариев. Например: Решите задачку или Анти-спам.

Арифметические действия - лучше всего отметить все (Плюс (+), Минус (−), Умножение (×).

Уровень сложности - также выбрать все (цифры и слова):

Настройки Captcha - защита сайта от спама

Математическая капча в форме комментариев WP

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

Регистрационная форма:

ваш сайт от спама и вам не придётся постоянно в ручном режиме чистить корзину от спам - мусора. Да и боты забудут дорогу к вашему сайту, пускай ходят на плохо защищённые блоги. Вот, как то так.

Надеюсь, друзья, пост был полезен для вас. Всего доброго и удачи.

(function(w, d, n, s, t) { w[n] = w[n] || ; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-292864-4", renderTo: "yandex_rtb_R-A-292864-4", async: true }); }); t = d.getElementsByTagName("script"); s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks");

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

Программы и игры