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, или продолжайте использовать обратный вызов onload , определенный в API версии 2.
  2. Попробуйте подключить вызов execute к интересным или конфиденциальным действиям, таким как Регистрация, Сброс пароля, Покупка или Игра.
  3. Используйте https://www.google.com/recaptcha/api.js?trustedtypes=true для загрузки кода, совместимого с Trusted Types .