reCAPTCHA v3, reCAPTCHA v3

reCAPTCHA v3 возвращает оценку для каждого запроса без каких-либо затруднений со стороны пользователя. Оценка основана на взаимодействии с вашим сайтом и позволяет вам предпринять соответствующие действия для вашего сайта. Зарегистрируйте ключи reCAPTCHA v3 в консоли администратора reCAPTCHA .

На этой странице объясняется, как включить и настроить reCAPTCHA v3 на вашей веб-странице.

Размещение на вашем сайте

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

Вы можете выполнить reCAPTCHA для любого количества действий на одной странице.

Автоматически привязывать вызов к кнопке

Самый простой способ использовать reCAPTCHA v3 на вашей странице — включить необходимый ресурс JavaScript и добавить несколько атрибутов к вашей html-кнопке.

  1. Загрузите API JavaScript.

     <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. Добавьте функцию обратного вызова для обработки токена.

     <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
  3. Добавьте атрибуты к вашей кнопке HTML.

    <button class="g-recaptcha" 
            data-sitekey="reCAPTCHA_site_key" 
            data-callback='onSubmit' 
            data-action='submit'>Submit</button>
    

Программно вызвать вызов

Если вы хотите иметь больший контроль над запуском reCAPTCHA, вы можете использовать метод execute в объекте grecaptcha . Для этого вам необходимо добавить параметр render в загрузку скрипта reCAPTCHA.

  1. Загрузите API JavaScript с помощью ключа вашего сайта.

    <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
    
  2. Вызовите grecaptcha.execute для каждого действия, которое вы хотите защитить.

       <script>
          function onClick(e) {
            e.preventDefault();
            grecaptcha.ready(function() {
              grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) {
                  // Add your logic to submit to your backend server here.
              });
            });
          }
      </script>
    
  3. Немедленно отправьте токен на свой сервер с запросом на проверку .

Интерпретация счета

reCAPTCHA v3 возвращает оценку (1,0, скорее всего, хорошее взаимодействие, 0,0, скорее всего, бот). В зависимости от оценки вы можете предпринимать различные действия в контексте вашего сайта. Каждый сайт уникален, но ниже приведены несколько примеров того, как сайты используют оценку. Как показано в примерах ниже, действуйте незаметно, а не блокируйте трафик, чтобы лучше защитить свой сайт.

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

reCAPTCHA учится, наблюдая за реальным трафиком на вашем сайте. По этой причине оценки в промежуточной среде или вскоре после реализации могут отличаться от производственных. Поскольку reCAPTCHA v3 никогда не прерывает поток пользователей, вы можете сначала запустить reCAPTCHA, не предпринимая никаких действий, а затем определить пороговые значения, просматривая свой трафик в консоли администратора . По умолчанию вы можете использовать порог 0,5.

Действия

reCAPTCHA v3 представляет новую концепцию: действия. Когда вы указываете имя действия в каждом месте выполнения reCAPTCHA, вы включаете следующие новые функции:

  • Подробная разбивка данных по десяти наиболее частым действиям в консоли администратора.
  • Адаптивный анализ рисков, основанный на контексте действия, поскольку оскорбительное поведение может быть разным.

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

Проверка ответа на сайте

Сделайте запрос на проверку токена ответа, как в случае с reCAPTCHA v2 или Invisible reCAPTCHA.

Ответ представляет собой объект JSON:

{
  "success": true|false,      // whether this request was a valid reCAPTCHA token for your site
  "score": number             // the score for this request (0.0 - 1.0)
  "action": string            // the action name for this request (important to verify)
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "hostname": string,         // the hostname of the site where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

Советы

  1. grecaptcha.ready() запускает вашу функцию при загрузке библиотеки reCAPTCHA. Чтобы избежать состояний гонки с api.js , включите api.js перед сценариями, вызывающими grecaptcha, или продолжайте использовать обратный вызов при загрузке , определенный в API версии 2.
  2. Попробуйте подключить вызов execute к интересным или конфиденциальным действиям, таким как регистрация, сброс пароля, покупка или игра.
  3. Используйте https://www.google.com/recaptcha/api.js?trustedtypes=true для загрузки кода, совместимого с доверенными типами .