reCAPTCHA v3

reCAPTCHA v3 restituisce un punteggio per ogni richiesta senza alcun fastidio per l'utente. Il punteggio si basa sulle interazioni con il tuo sito e ti consente di intraprendere le azioni appropriate per il sito. Registra le chiavi reCAPTCHA v3 nella Console di amministrazione di reCAPTCHA.

Questa pagina spiega come abilitare e personalizzare reCAPTCHA v3 nella tua pagina web.

Posizionamento sul tuo sito web

reCAPTCHA v3 non interromperà mai i tuoi utenti, quindi puoi eseguirlo ogni volta che vuoi senza influire sulla conversione. reCAPTCHA funziona meglio quando ha il massimo contesto sulle interazioni con il tuo sito, grazie alla visualizzazione di comportamenti sia legittimi che illeciti. Per questo motivo, ti consigliamo di includere la verifica reCAPTCHA su moduli o azioni, nonché in background per le pagine di analisi.

Puoi eseguire reCAPTCHA su tutte le azioni che vuoi nella stessa pagina.

Associa automaticamente la sfida a un pulsante

Il metodo più semplice per utilizzare reCAPTCHA v3 nella pagina è includere la risorsa JavaScript necessaria e aggiungere alcuni attributi al pulsante HTML.

  1. Caricare l'API JavaScript.

     <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. Aggiungi una funzione di callback per gestire il token.

     <script>
       function onSubmit(token) {
         document.getElementById("demo-form").submit();
       }
     </script>
    
  3. Aggiungi attributi al pulsante HTML.

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

Richiama la sfida a livello di programmazione

Se vuoi avere maggiore controllo sull'esecuzione di reCAPTCHA, puoi utilizzare il metodo execute nell'oggetto grecaptcha. A tale scopo, devi aggiungere un parametro render al caricamento dello script reCAPTCHA.

  1. Carica l'API JavaScript con la tua chiave del sito.

    <script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
    
  2. Chiama il numero grecaptcha.execute per ogni azione che vuoi proteggere.

       <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. Invia subito il token al backend con la richiesta di verifica.

Interpretazione del punteggio

reCAPTCHA v3 restituisce un punteggio (1,0 corrisponde molto probabilmente a un'interazione valida, 0,0 a un bot). In base al punteggio, puoi intraprendere un'azione variabile nel contesto del tuo sito. Ogni sito è diverso, ma di seguito sono riportati alcuni esempi di come i siti utilizzano il punteggio. Come negli esempi riportati di seguito, intervieni dietro le quinte anziché bloccare il traffico per proteggere meglio il tuo sito.

Caso d'uso Suggerimento
home page Visualizzare una vista coerente del tuo traffico sulla Console di amministrazione e filtrare gli scraper.
login Con punteggi bassi, richiedi l'autenticazione a 2 fattori o la verifica email per evitare attacchi di credential stuffing.
social Limita le richieste di amicizia senza risposta da parte di utenti molesti e invia alla moderazione commenti rischiosi.
e-commerce Metti alla prova le tue vendite reali e identifica le transazioni rischiose.

reCAPTCHA impara vedendo il traffico reale sul tuo sito. Per questo motivo, i punteggi in un ambiente temporaneo o subito dopo l'implementazione possono differire dalla produzione. Dato che reCAPTCHA v3 non interrompe mai il flusso di utenti, puoi prima eseguire reCAPTCHA senza intraprendere alcuna azione e quindi decidere le soglie esaminando il traffico nella Console di amministrazione. Per impostazione predefinita, puoi utilizzare una soglia di 0,5.

Azioni

reCAPTCHA v3 introduce un nuovo concetto: le azioni. Quando specifichi un nome di azione in ogni punto in cui esegui reCAPTCHA, abiliti le seguenti nuove funzionalità:

  • Un'analisi dettagliata dei dati relativi alle dieci azioni più utilizzate nella Console di amministrazione
  • Analisi del rischio adattiva in base al contesto dell'azione, perché il comportamento illecito può variare.

È importante sottolineare che quando verifichi la risposta reCAPTCHA devi verificare che il nome dell'azione corrisponda al nome previsto.

Risposta di verifica del sito

Effettua la richiesta di verifica del token di risposta come con reCAPTCHA v2 o reCAPTCHA invisibile.

La risposta è un oggetto 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
}

Suggerimenti

  1. grecaptcha.ready() esegue la funzione quando viene caricata la libreria reCAPTCHA. Per evitare le condizioni di gara con api.js, includi api.js prima degli script che chiamano grecaptcha o continua a utilizzare il callout onload definito con l'API v2.
  2. Prova a agganciare la chiamata execute ad azioni interessanti o sensibili come Registrati, Reimposta password, Acquista o Riproduci.
  3. Utilizza https://www.google.com/recaptcha/api.js?trustedtypes=true per caricare il codice compatibile con i tipi attendibili.