Капча для вордпресс на русском. Лучшие плагины для капчи в WordPress. Рекапча: цели и назначение сервиса

Установка 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 . Прежний плагин 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");

Flector 4.8

No CAPTCHA reCAPTCHA русская версия

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

1 Распаковываем архив.

2 Копируем папку no-captcha-recaptcha в /wp-content/plugins/ .

3 Заходим в админку блога на вкладку "Плагины " и активируем плагин.

Прежде чем приступать непосредственно к настройке плагина вам необходимо будет зарегистрировать свой домен на сайте рекапчи :

Как видно на скриншоте – достаточно ввести две строчки и нажать кнопку "Регистрация". После чего вам выдадут ключи для использования сервиса:

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

Ввели ключи – сохранили. Собственно, это самая главная настройка плагина, без которой он просто не будет работать. После ввода ключей необходимо указать, где именно будет выводиться капча:

При добавлении комментария капчу можно увидеть под кнопкой "Отправить":

Третья и последняя часть настроек касается внешнего вида капчи:

Объяснять, что к чему не буду – тут и так все должно быть понятно.

Должен только сразу предупредить об одной очень неприятной особенности оригинального плагина – вы обязаны указать ключи, тему и язык капчи при сохранении настроек. Если вы этого не сделаете, то сломаете свой сайт, так как он будет выдавать белый экран. Указать надо явно – то есть "Автоопределение" не прокатит. В русской версии плагина я эту ошибку исправил, но все равно имейте это в виду.

Теперь немного о вопросах, которые возникают при установке плагина.

Как проверяется капча? При установке галки запускается специальный скрипт, который анализирует кучу разных параметров от разрешения экрана до используемого браузера. И почти с 99% точностью этот скрипт может определить, кто поставил галку – настоящий человек или бот. Если у скрипта есть сомнения в том, что вы человек, то он выдаст вам капчу для ввода:

Почему галка такая большая? Это тоже частый вопрос, так как зачастую капча смотрится несколько инородно в формах добавления комментария. А ответ прост – размер квадрата специально сделан большим, чтобы его можно было нажать пальцем на мобильных устройствах. На них же, кстати, в качестве дополнительной проверки вам предложат ввести не символы, а указать нужные картинки (например, удалить собаку из 5 картинок с кошками).

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

Привет, читатель! До недавнего времени на моем блоге работал плагин Math Comment Spam Protection, реализующий математическую капчу для WordPress. Надо сказать, плагин очень надежный и защищает комментарии не только от спама, но и от людей. Недавно на почту пришли пару писем, написанных через форму обратной связи с жалобами на капчу в комментариях. У пользователей спрашивалось, сколько будет 7+10? Казалось бы 17, но нет! Капча WordPress отвергала этот вариант и не пропускала комментарий.

Воссоздать условия, при которых капча переставала корректно работать у меня не получилось, поэтому и не получилось ее починить. Оставался только один вариант — отказаться от Math Comment Spam Protection и начать поиск новой защиты от спама. Об этом сегодня и поговорим.

Плагины капчи для комментариев WordPress

1. DCaptcha — именно эту капчу я первой добавил на свой блог сразу после . Очень простая капча, которая сводится к тому, что человек должен поставит галочку напротив фразы «Это не спам». Легче только полное отсутствие капчи, но об этом позже. К сожалению, со временем стал просачиваться спам. Не скажу, что по много, но все равно не приятно.

Установка DCaptcha в WordPress:

  • Скачайте последнюю версию плагина с сайта разработчика.
  • Распакуйте архив в текущий каталог и загрузите полученную папку на сервер в директорию wp-content/plugins/, используя .
  • Зайдите в админку WordPress и в разделе «Плагины» активируйте DCaptcha.
  • Установите права 777 на каталог /wp-content/plugins/dimoning.ru-captcha/num на сервере, используя все тот же ftp клиент FileZilla.
  • Запустите браузер и в адресной строке укажите следующее: http://vash_site.ru/wp-content/plugins/dimoning.ru-captcha/install.php (конечно, вместо vash_site.ru подставьте адрес своего сайта), нажмите Enter.
  • Все, плагин DCaptcha готов к работе, и капча автоматически появится под формой комментариев.

Стандартную надпись «Это не спам» можно поменять. Для это следует открыть на редактирование файл /wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php. Используя стандартный поиск (ctrl +f), найдите строчку

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

— одна из лучших символьных капчей для WordPress. Выглядит следующим образом:

Как видите, распознать символы для человека не составит труда. В чем преимущества Captcha Code:

  • Очень простая установка капчи: скачиваем плагин Captcha Code , загружаем на сервер и активируем через админку WP. В настройках галочками отмечаем, где будет использоваться капча — на страницах Входа, Регистрации и Восстановления пароля, в форме комментариев. Никакого дополнительного кода в шаблоны используемой темы WP добавлять не надо.
  • Настроек немного и все они на русском языке.
  • Регулируемая сложность капчи — устанавливается количество символов и какого рода они (строчные и заглавные буквы, цифры).

3. WP-reCAPTCHA — капча от Google. Очень надежная, но очень сложная. Отпугнет не только ботов, но и всех пользователей. Хотя, она встречается на многих сайтах в интернете, поэтому лично я к ней уже привык. Выглядит следующим образом:

Для работы плагина следует зарегистрироваться на сервисе www.google.com/recaptcha и получить приватный и публичный ключи. Заметьте, что для это необходимо иметь аккаунт на Google. Создать его можно . Это не займет много времени.

Получить заветные ключи очень просто, достаточно сделать три небольших шага:

1. Используем кнопку «USE reCAPTCHA ON YOUR SITE» для начала регистрации.

2. На следующей странице жмем на кнопку «Sing up Now!».

3. Указываем адрес своего блога и генерируем ключи, нажатием кнопку «Create key». Можно так же поставить галочку напротив «Enable this key on all domains (global key)», это позволит использовать полученные ключи на всех сайтах, а не только на одном указанном.

4. — не совсем стандартная капча, представляет собой простую логическую задачу — все картинки нужно поставить вертикально.

Устанавливается плагин стандартно. Единственным условием для работы капчи является наличие в шаблоне comments.php используемой следующей строчки кода:

ID ) ; ?>

Именно к ней капча и крепится, поэтому поменяв ее местоположение в шаблоне, вы поменяете место отображения капчи в форме составления комментария. Если капча все равно не отображается, следует выставить на папку с картинками права 777.

К сожалению, плагин придется русифицировать в ручную, хотя это не должно занять много времени. Откройте на редактирование файл плагина not-captcha.php и замените английские выражения на аналогичные русские.

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

Плагин поддерживает как английский, так и русский язык, что является несомненным плюсом. После активации плагина, капча в комментарии WordPress добавляется автоматически. Если этого не произошло, то в настройках CheckBot, в пункте «The method of connecting plugin» выберете «Manual». В шаблон comments.php, в то место, где хотите видеть капчу, добавьте следующую строчку кода:

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

Как получить ключи reCaptcha?

Выполните следующие шаги, чтобы получить и включить защиту reCaptcha с помощью официальных ключей Google Captcha: \ N1. Откройте панель администратора WordPress. \ N2. Перейдите на страницу настроек плагина. \ N3. Нажмите ссылку «Получить ключи API». \ N4. Введите имя домена и нажмите кнопку «Создать ключ». \ N5. Вы увидите ваш открытый и закрытый ключи. Скопируйте их и вставьте в соответствующие поля на странице настроек плагина. \ N6. Сохранить изменения.

Как скрыть reCaptcha в комментариях для зарегистрированных пользователей?

Вы должны перейти на страницу настроек и выбрать роли, для которых вы хотите скрыть reCaptcha. Затем необходимо нажать кнопку «Сохранить изменения».

Можно ли изменить внешний вид и стиль reCaptcha?

Выполните следующие шаги, чтобы изменить внешний вид reCaptcha: \ N1. Откройте панель администратора WordPress. \ N2. Перейдите на страницу настроек плагина. \ N3. Выберите версию reCAPTCHA. \ N4. Найдите параметр «Тема» (доступен только для версий 1 и 2) и выберите нужный стиль в раскрывающемся списке. \ N5. Сохраните изменения и проверьте результат.

ReCaptcha не отображается в моей форме комментариев. Почему?

Код в файле «comments.php» вашей темы может быть написан неправильно. Версия WordPress имеет значение.
(WP версии 2.x): Убедитесь, что тема содержит тег ID); ?> в файле /wp-content/themes//comments.php.
Большинство тем WP версии 2 уже имеют его. Лучше всего разместить этот тег перед текстовой областью комментариев, вы можете переместить его, если он находится ниже текстовой области комментария.
(WP версии 3.x): WP версии 3 имеет новую функцию comment_form в файле /wp-includes/comment-template.php.
Вероятно ваша тема не обновлена до последней версии для вызова этой функции из файла «comments.php».
В теме WP версии 3 не нужна строка кода do_action(‘comment_form’… в файле /wp-content/themes//comments.php.
Вместо этого она использует новый вызов функции в файле «comments.php»:
Если у вас WP версии 3 и капча все еще отсутствуют, убедитесь, что ваша тема имеет
в файле /wp-content/themes//comments.php (пожалуйста, для примера обратитесь к файлу «comments.php» темы Twenty Ten).

Как я могу изменить местоположение reCaptcha в форме комментариев?

Это зависит от формы комментариев. Если привязка вызывается в зависимости от того, какая работает капча (‘after_comment_field’ или типа этого) то она находится в файле comments.php, вы можете изменить расположение капчи передвинув этот вызов привязки. Пожалуйста, найдите файл ‘comments.php’ в теме и измените расположение строки

Do_action("comment_form_after_fields");

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

Добавить плагин reCaptcha в пользовательскую форму на вашем WordPress сайте

Следуйте приведенным ниже инструкциям, чтобы добавить плагин reCaptcha в пользовательскую форму PHP или HTML: \ N1. Установите плагин reCaptcha и активируйте его. \ N2. (Необязательно) Если вы хотите иметь возможность включать и отключать reCAPTCHA для своей пользовательской формы на странице настроек плагина, добавьте следующий код в файл functions.php вашей темы:

Function add_custom_recaptcha_forms($forms) { $forms["my_custom_form"] = array("form_name" => "Custom Form Name"); return $forms; } add_filter("gglcptch_add_custom_form", "add_custom_recaptcha_forms");

В этом примере «my_custom_form» — это слаг для вашей пользовательской формы.

Пожалуйста, не используйте следующие формы слагов, так как они предопределены настройками плагина: login_form, registration_form, reset_pwd_form, comments_form, contact_form, cf7, si_contact_form, jetpack_contact_form, sbscrbr, bbpress_new_topic_form, bbpress_reply_form, buddypress_register, buddypress_comments, buddypress_group, woocommerce_login, woocommerce_register, woocommerce_lost_password, woocommerce_checkout, wpforo_login_form, wpforo_register_form, wpforo_new_topic_form, wpforo_reply_form.
— Save file changes;
— Go to the «Settings» tab on the plugin settings page (Admin Dashboard -> reCaptcha); If everything is OK, you will see your form in ‘Enable reCAPTCHA for’ => ‘Custom Forms’ (with labels which you specified in the «gglcptch_add_custom_form» hook call function).
— Enable it and configure form options as you need;
— Click «Save Changes» button;

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

  1. Откройте файл с формой (где вы хотели бы добавить reCAPTCHA);
  2. Найдите место для вставки кода для вывода reCAPTCHA;
    Если вы выполнили инструкции в пункте. 2, вам необходимо добавить:

В этом примере второй параметр — это слаг для вашей пользовательской формы.

    После этого, вам необходимо добавить следующие строки к функции проверки введенных данных.
    Если вы выполнили инструкции в пункте 2, вам необходимо добавить:

В этом примере третий параметр — это слаг для вашей пользовательской формы.

В противном, случае вставьте следующие строки:

Если в функции проверки есть переменная, которая ответственна за вывод ошибок, вы можете связать переменную $check_result с этой переменной. Если хук фильтра «gglcptch_verify_recaptcha» возвращает «true», это означает, что вы правильно ввели ответ reCAPTCHA. Во всех остальных случаях функция вернет строку с сообщением об ошибке.

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

У меня есть некоторые проблемы с работой плагина. Какую информацию мне нужно предоставить для получения техподдержки?