reCAPTCHA v3

O reCAPTCHA v3 retorna uma pontuação para cada solicitação sem atrito do usuário. A pontuação tem como base as interações com o site e permite que você tome uma ação apropriada para ele. Registre chaves reCAPTCHA v3 no Admin Console do reCAPTCHA.

Esta página explica como ativar e personalizar o reCAPTCHA v3 na sua página da Web.

Posicionamento no site

O reCAPTCHA v3 nunca interrompe os usuários. Portanto, ele pode ser executado sempre que você quiser, sem afetar as conversões. O reCAPTCHA funciona melhor quando tem mais contexto sobre as interações com o site, o que resulta da observação de comportamentos legítimos e abusivos. Por esse motivo, recomendamos incluir a verificação reCAPTCHA em formulários ou ações, bem como no plano de fundo das páginas para análise.

Você pode executar o reCAPTCHA em quantas ações desejar na mesma página.

Vincular o desafio automaticamente a um botão

O método mais fácil para usar o reCAPTCHA v3 na sua página é incluir o recurso JavaScript necessário e adicionar alguns atributos ao botão HTML.

  1. Carregue a API JavaScript.

     <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. Adicione uma função de callback para processar o token.

     <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
  3. Adicione atributos ao botão HTML.

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

Invoque o desafio programaticamente

Se você quiser ter mais controle sobre quando o reCAPTCHA é executado, use o método execute no objeto grecaptcha. Para fazer isso, você precisa adicionar um parâmetro render ao carregamento do script reCAPTCHA.

  1. Carregue a API JavaScript com a chave do site.

    <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
    
  2. Chame grecaptcha.execute em cada ação que você quer proteger.

       <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. Envie o token imediatamente para seu back-end com a solicitação de verificação.

Como interpretar a pontuação

O reCAPTCHA v3 retorna uma pontuação (1,0 é muito provavelmente uma boa interação, 0,0 é muito provavelmente um bot). Com base na pontuação, você pode realizar ações variáveis no contexto do seu site. Cada site é diferente, mas veja abaixo alguns exemplos de como os sites usam a pontuação. Como nos exemplos abaixo, para proteger melhor seu site, tome medidas nos bastidores em vez de bloquear o tráfego.

Caso de uso Recomendação
homepage Confira uma visão coesa do tráfego no Admin Console ao filtrar as raspagens de informação.
login Com pontuações baixas, exigem autenticação de dois fatores ou verificação de e-mail para evitar ataques de preenchimento de credenciais.
social Limite as solicitações de amizade não respondidas de usuários abusivos e envie comentários de risco para a moderação.
E-commerce Coloque vendas reais à frente dos bots e identifique transações arriscadas.

O reCAPTCHA aprende com o tráfego real no seu site. Por esse motivo, as pontuações em um ambiente de preparação ou logo após a implementação podem ser diferentes da produção. Como o reCAPTCHA v3 nunca interrompe o fluxo do usuário, é possível primeiro executar o reCAPTCHA sem tomar medidas e, em seguida, decidir os limites analisando seu tráfego no Admin Console. Por padrão, é possível usar um limite de 0,5.

Ações

O reCAPTCHA v3 introduz um novo conceito: ações. Ao especificar um nome de ação em cada local em que o reCAPTCHA é executado, os seguintes novos recursos são ativados:

  • uma análise detalhada dos dados das dez principais ações no Admin Console.
  • Análise de risco adaptável com base no contexto da ação, porque o comportamento abusivo pode variar.

É importante ressaltar que, ao verificar a resposta reCAPTCHA, verifique se o nome da ação é o esperado.

Resposta de verificação do site

Faça a solicitação para verificar o token de resposta como no caso do reCAPTCHA v2 ou do reCAPTCHA invisível.

A resposta é um objeto 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
}

Dicas

  1. grecaptcha.ready() executa a função quando a biblioteca reCAPTCHA é carregada. Para evitar disputas com o api.js, inclua o api.js antes dos scripts que chamam o grecaptcha ou continue usando o callback onload definido com a API v2.
  2. Tente conectar a chamada execute a ações interessantes ou sensíveis, como Registrar, Redefinir senha, Comprar ou Jogar.
  3. Use https://www.google.com/recaptcha/api.js?trustedtypes=true para carregar código compatível com Tipos confiáveis.