Установка скрытой reCaptcha от Google

Google предоставляет замечательное средство для борьбы со спамом — reCaptcha

Обычно это просто галочка «Я не робот»

Однако есть возможность не делать даже этого — Invisible reCAPTCHA проверяет пользователя в фоне и только если возникли сомнения отображает окно с дополнительным подтверждением

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

Создаем контейнер и подключаем скрипт

<div id="recaptcha"></div>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadReCaptchaInvisible&render=explicit" async
        defer></script>

Настраиваем и пару функций для удобной работы

var g_cfg = {
  'sitekey': 'your-api-code',
  'theme': 'dark',
  'size': 'invisible',
  'callback': 'grecaptcha_callback',
};

// храним идентификатор
var recaptcha_id;

// функция которую мы вызовим что бы проверить
function gcaptcha_check(callback) {
  window.grecaptcha_callback = callback;
  window.grecaptcha.execute(recaptcha_id);
}

// если требуется обновить рекапчу, например для еще одной проверки пользователя
function gcaptcha_reset() {
  window.grecaptcha.reset(recaptcha_id);
}

// колбек для самой рекапчи
window.onloadReCaptchaInvisible = function () {
  recaptcha_id = grecaptcha.render('recaptcha', g_cfg)
};

Изначально reCaptcha отображает свой логотип в правом нижнем углу страницы

Что бы ее скрыть достаточно добавить в стили

.grecaptcha-badge {
  display: none;
}

Однако, по условиям использования, если вы скрываете этот значек, вам необходимо самим уведомить пользователя что используется reCaptcha, показав текст

This site is protected by reCAPTCHA and the Google
    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.

Подробнее на https://developers.google.com/recaptcha/docs/faq

 

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *