Что такое капча
Капча (англ. captcha) — аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.
Пример капчи во Вконтакте
Эффект рассчитан на то, что боты картинку не распознают, а человек — сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.
Google ReCaptcha — как установить и настроить
Google reCAPTCHA — это сервис, который предоставляет бесплатную капчу для защиты различных форм ввода данных на сайте от спамеров и ботов.
-
Нужно авторизоваться или завести новый аккаунт. Если у Вас уже есть аккаунт от почты Gmail, можно авторизоваться с его помощью.
-
- Название можно вводить любое — пригодится в дальнейшем, чтобы не запутаться, если связок ключей будет много
- Домены вводить по одному в строке. Если ввели домен example.com, то ключи будут работать и для всех его поддоменов
- Владельцы — введите туда свой email от аккаунта Google (Gmail почту). На эти адреса можно настроить уведомления о работе reCAPTCHA
- Расширенные настройки — здесь можно настроить уровень параноидальности капчи, а также имя домена, на котором она располагается
-
Далее, добавление reCAPTCHA на сайт. У вас будет в наличии 2 ключа, публичный и секретный
Они понадобятся в дальнейшем:
- Публичный ключ будет использоваться в HTML формы отправки сообщений, или там, где мы хотим использовать капчу
- Секретный ключ нужно держать в тайне, он используется для связи сайта с
-
Нужно вывести следующий код в теле страницы, желательно перед закрывающим тегом :
-
В том месте, где нужно вывести капчу, вставляем:
где значение атрибута должно совпадать с публичным ключом, в нашем случае, это
-
Допустим, у нас есть форма
Google reCAPTCHA
В ней мы разместили нашу рекапчу над кнопкой отправки формы. Теперь нужно подключить обработчик. Над этой формой разместим следующий код:
<?php /** * Recaptcha * https://sheensay.ru/?p=205 * **************************** */ require_once 'recaptcha/autoload.php'; $secret = '6LcPh-ASAAAAAHZTpPumSP7ZLCET3saE4WnDfOth'; // Вставляем сюда секретный ключ $remoteIp = $_SERVER; $gRecaptchaResponse = $_POST; $success = $fail = ''; if ( !empty( $_POST ) ) { $recaptcha = new \ReCaptcha\ReCaptcha( $secret ); $resp = $recaptcha -> verify( $gRecaptchaResponse, $remoteIp ); if ( $resp -> isSuccess() ) { // Проверка успешно пройдена $success = 'Форма успешно отправлена, спасибо!'; } else { // Ошибка $fail = 'Ошибка отправки формы: '; $errors = $resp -> getErrorCodes(); foreach ( $errors as $error ) { $fail .= $error . '; '; } } } ?>
Здесь мы подключили PHP библиотеку для обработки рекапчи, а также верифицировали капчу на сервере Google.
Всё, теперь каждая форма комментариев защищена капчей.
<?php /** * Recaptcha * https://sheensay.ru/?p=205 * **************************** */ require_once 'recaptcha/autoload.php'; $secret = '6LcPh-ASAAAAAHZTpPumSP7ZLCET3saE4WnDfOth'; // Вставляем сюда секретный ключ $remoteIp = $_SERVER; $gRecaptchaResponse = $_POST; $success = $fail = ''; if ( !empty( $_POST ) ) { $recaptcha = new \ReCaptcha\ReCaptcha( $secret ); $resp = $recaptcha -> verify( $gRecaptchaResponse, $remoteIp ); if ( $resp -> isSuccess() ) { // Проверка успешно пройдена $success = 'Форма успешно отправлена, спасибо!'; } else { // Ошибка $fail = 'Ошибка отправки формы: '; $errors = $resp -> getErrorCodes(); foreach ( $errors as $error ) { $fail .= $error . '; '; } } } ?> Google reCAPTCHA
Как установить Google Recaptcha в WordPress
Устанавливаете плагин, в поля вводите ключи для домена, которые мы приготовили по инструкции выше — и готово.
Далее, переходите к настройкам плагина, вводите публичный и секретный ключи в соответствующие поля:
Страница настроек плагина Google Captcha (reCAPTCHA) by BestWebSoft