Questo documento illustra come implementare una pagina di verifica reCAPTCHA, i token di azione reCAPTCHA e i token di sessione reCAPTCHA per Google Cloud Armor.
Prima di iniziare
Prima di utilizzare una pagina di verifica reCAPTCHA, token di azione o token di sessione, attiva l'API reCAPTCHA Enterprise.
Nella console, vai alla pagina API reCAPTCHA Enterprise.
Verifica che il nome del progetto venga visualizzato nel selettore dei progetti nella parte superiore della pagina. Se non vedi il nome del progetto, fai clic sul selettore di progetto, quindi seleziona il progetto.
Fai clic su Abilita.
Implementare una pagina di verifica reCAPTCHA
Quando implementi una pagina di verifica reCAPTCHA, reCAPTCHA Enterprise determina se è necessario mostrare una verifica CAPTCHA a un utente. Pertanto, le verifiche CAPTCHA potrebbero non essere visibili a tutti gli utenti.
Per implementare una pagina di verifica reCAPTCHA, procedi nel seguente modo:
Crea una chiave del sito della pagina di verifica WAF reCAPTCHA.
console
Nella console, vai alla pagina reCAPTCHA Enterprise.
Verifica che il nome del progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.
Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, quindi seleziona il progetto.
Fai clic su Crea chiave.
- Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
Dal menu a discesa Scegli il tipo di piattaforma, seleziona Sito web.
- Espandi la sezione Web application firewall (WAF), verifica del dominio, pagine AMP e richiesta di verifica.
- Attiva l'opzione Web application firewall (WAF).
-
Dal menu a discesa Funzionalità, seleziona Pagina sfida.
-
Attiva l'opzione Disattiva verifica dominio.
Quando disattivi la verifica del dominio per le chiavi dei siti della pagina di verifica, Google Cloud Armor verifica il dominio.
- Fai clic su Crea chiave.
La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.
gcloud
Per creare chiavi sito WAF, utilizza il comando gcloud recaptcha key create:gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME
Fornisci i seguenti valori:
- DISPLAY_NAME: nome della chiave. In genere il nome di un sito.
-
WAF_FEATURE: nome della funzionalità WAF.
Specifica
challenge-page
. -
WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - INTEGRATION_TYPE: tipo di integrazione.
Specifica
INVISIBLE
. - DOMAIN_NAME: domini o sottodomini dei siti web autorizzati a utilizzare
la chiave. Indica più domini come elenco separato da virgole.
(Facoltativo) Specifica
--allow-all-domains
per disabilitare la verifica del dominio.Quando disattivi la verifica del dominio per le chiavi dei siti della pagina di verifica, Google Cloud Armor verifica il dominio.
REST &CMD LINE
Per informazioni di riferimento sull'API su tipi di chiavi e tipi di integrazione, consulta le sezioni Chiave e Tipo di integrazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- DISPLAY_NAME: nome visualizzato per la chiave
- WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - WAF_FEATURE: nome della funzionalità WAF.
Specifica
challenge-page
. - DOMAINS (solo per siti web e WAF): domini o sottodomini di siti web autorizzati a utilizzare la chiave. Indica più domini come elenco separato da virgole. (Facoltativo) Specifica
--allow-all-domains
per disattivare la verifica del dominio.Quando disattivi la verifica del dominio per le chiavi dei siti della pagina di verifica, Google Cloud Armor verifica il dominio.
- TYPE_OF_INTEGRATION (solo per siti web e WAF):
Specifica
INVISIBLE
.
Metodo HTTP e URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
Corpo JSON richiesta:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "TYPE_OF_INTEGRATION" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand ContentDovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "WAF session-token test key", "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "INVISIBLE", }, "wafSettings": { "wafService": "CA", "wafFeature": "CHALLENGE_PAGE" } }
Configura i criteri di sicurezza di Google Cloud Armor. Per informazioni su come utilizzare una chiave del sito di verifica reCAPTCHA con il tuo criterio di sicurezza, consulta Configurare le regole per la gestione dei bot.
Implementare i token di azione reCAPTCHA
Per generare i token di azione, è necessario che reCAPTCHA Enterprise sia in esecuzione sulle tue pagine web. Dopo che reCAPTCHA Enterprise ha generato un token azione, lo colleghi a un'intestazione predefinita della richiesta, ovunque tu debba proteggere qualsiasi azione dell'utente, ad esempio il pagamento. Per impostazione predefinita, i token di azione sono validi per 30 minuti e possono avere una durata inferiore. Pertanto, devi collegare il token azione a un'intestazione della richiesta predefinita prima che scada, in modo che Google Cloud Armor possa valutare gli attributi del token.
Per implementare un token di azione reCAPTCHA:
Creare una chiave di sito token di azione WAF reCAPTCHA.
console
Nella console, vai alla pagina reCAPTCHA Enterprise.
Verifica che il nome del progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.
Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, quindi seleziona il progetto.
Fai clic su Crea chiave.
- Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
Dal menu a discesa Scegli il tipo di piattaforma, seleziona Sito web.
Viene visualizzata la sezione Elenco dei domini.
-
Inserisci il nome di dominio per il tuo sito web:
Nella sezione Elenco domini, fai clic su Aggiungi un dominio.
- Nel campo Dominio, inserisci il nome del tuo dominio.
(Facoltativo) Per aggiungere un altro dominio, fai clic su Aggiungi un dominio e inserisci il nome di un altro dominio nel campo Dominio. Puoi aggiungere fino a un massimo di 250 domini.
Per i siti web, la chiave del sito reCAPTCHA è univoca per i domini e i sottodomini specificati. Puoi specificare più di un dominio se pubblichi il tuo sito web da più domini. Se specifichi un dominio (ad esempio
examplepetstore.com
), non è necessario specificarne i sottodomini (ad esempiosubdomain.examplepetstore.com
).
- Espandi la sezione Web application firewall (WAF), verifica del dominio, pagine AMP e richiesta di verifica.
- Attiva l'opzione Web application firewall (WAF).
-
Dal menu a discesa Funzionalità, seleziona Token di azione.
-
(Facoltativo) Attiva Disattiva la verifica del dominio.
La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
-
(Facoltativo) Attiva l'opzione Utilizza la casella di controllo.
- Fai clic su Crea chiave.
La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.
gcloud
Per creare chiavi sito WAF, utilizza il comando gcloud recaptcha key create:gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME
Fornisci i seguenti valori:
- DISPLAY_NAME: nome della chiave. In genere il nome di un sito.
-
WAF_FEATURE: nome della funzionalità WAF.
Specifica
action-token
. -
WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - INTEGRATION_TYPE: tipo di integrazione.
Specifica
SCORE
oCHECKBOX
. - DOMAIN_NAME: domini o sottodomini dei siti web autorizzati a utilizzare
la chiave. Indica più domini come elenco separato da virgole.
(Facoltativo) Specifica
--allow-all-domains
per disabilitare la verifica del dominio.La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
REST &CMD LINE
Per informazioni di riferimento sull'API su tipi di chiavi e tipi di integrazione, consulta le sezioni Chiave e Tipo di integrazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- DISPLAY_NAME: nome visualizzato per la chiave
- WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - WAF_FEATURE: nome della funzionalità WAF.
Specifica
action-token
. - DOMAINS (solo per siti web e WAF): domini o sottodomini di siti web autorizzati a utilizzare la chiave. Indica più domini come elenco separato da virgole. (Facoltativo) Specifica
--allow-all-domains
per disattivare la verifica del dominio.La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
- TYPE_OF_INTEGRATION (solo per siti web e WAF):
Specifica
SCORE
oCHECKBOX
.
Metodo HTTP e URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
Corpo JSON richiesta:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "TYPE_OF_INTEGRATION" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand ContentDovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "WAF session-token test key", "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "SCORE", }, "wafSettings": { "wafService": "CA", "wafFeature": "ACTION_TOKEN" } }
Nelle tue pagine web, installa la chiave di sito Action-Token. Per istruzioni, consulta il documento che corrisponde al tipo di integrazione della chiave del sito action-token.
- Per il tipo di integrazione
SCORE
, consulta la sezione Integrare le chiavi dei siti con il frontend. - Per il tipo di integrazione
CHECKBOX
, consulta la sezione Visualizzare il widget reCAPTCHA sul frontend.
- Per il tipo di integrazione
Dopo aver ricevuto il token da reCAPTCHA Enterprise, collegalo a un'intestazione predefinita della richiesta nel seguente formato:
X-Recaptcha-Token:value-of-your-action-token
Per collegare il token a un'intestazione della richiesta predefinita, puoi utilizzare lingue quali XHR, Ajax o API Fetch.
Il seguente script di esempio mostra come proteggere l'azione di esecuzione e collegare il token a un'intestazione di richiesta predefinita utilizzando JavaScript + XHR:
<script src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_SITE_KEY"></script> <script> function onSuccess(action_token) { const xhr = new XMLHttpRequest(); xhr.open('GET','YOUR_URL', false); // Attach the action-token to the predefined request header xhr.setRequestHeader("X-Recaptcha-Token", action_token); xhr.send(null); } function onError(reason) { alert('Response promise rejected: ' + reason); } grecaptcha.enterprise.ready(function () { document.getElementById("execute-button").onclick = () => { grecaptcha.enterprise.execute('ACTION_TOKEN_SITE_KEY', { }).then(onSuccess, onError); }; }); </script> ```
Configura i criteri di sicurezza di Google Cloud Armor. Per informazioni su come utilizzare la chiave del sito del token di azione reCAPTCHA con il tuo criterio di sicurezza, vedi Configurare le regole per la gestione dei bot.
Implementare i token di sessione reCAPTCHA
Il codice JavaScript di reCAPTCHA imposta un token di sessione reCAPTCHA come cookie nel browser dell'utente finale dopo la valutazione. Il browser dell'utente finale collega il cookie e lo aggiorna finché il codice JavaScript reCAPTCHA rimane attivo.
Per fornire un token di sessione come cookie, installa una chiave di sito basata su punteggio reCAPTCHA su almeno una delle tue pagine web che soddisfano i seguenti requisiti:
- La pagina web deve essere la pagina che l'utente finale naviga prima di quella da proteggere. Ad esempio, se vuoi proteggere la pagina di pagamento, installa la chiave di sito basata sul punteggio reCAPTCHA sulla home page o sulla pagina del prodotto.
- La pagina web è protetta da un criterio di sicurezza di Google Cloud Armor.
Puoi utilizzare questo cookie per proteggere le successive richieste dell'utente e i caricamenti delle pagine su un dominio specifico. Per impostazione predefinita, i token di sessione sono validi per 30 minuti. Tuttavia, se l'utente rimane nella pagina in cui hai implementato il token di sessione, reCAPTCHA Enterprise aggiorna periodicamente il token per evitare che scada.
Installa i token di sessione su ogni pagina che deve essere protetta da reCAPTCHA Enterprise. Ti consigliamo di installare reCAPTCHA Enterprise su ogni pagina e di utilizzare le regole di Google Cloud Armor per applicare l'accesso a tutte le pagine, ad eccezione della prima pagina visitata dagli utenti finali.
Di seguito è riportato un token di sessione reCAPTCHA di esempio:
recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time
Per implementare un token di sessione reCAPTCHA, segui questi passaggi:
Creare una chiave di sito del token di sessione WAF reCAPTCHA.
console
Nella console, vai alla pagina reCAPTCHA Enterprise.
Verifica che il nome del progetto venga visualizzato nel selettore di risorse nella parte superiore della pagina.
Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, quindi seleziona il progetto.
Fai clic su Crea chiave.
- Nel campo Nome visualizzato, inserisci un nome visualizzato per la chiave.
Dal menu a discesa Scegli il tipo di piattaforma, seleziona Sito web.
Viene visualizzata la sezione Elenco dei domini.
-
Inserisci il nome di dominio per il tuo sito web:
Nella sezione Elenco domini, fai clic su Aggiungi un dominio.
- Nel campo Dominio, inserisci il nome del tuo dominio.
(Facoltativo) Per aggiungere un altro dominio, fai clic su Aggiungi un dominio e inserisci il nome di un altro dominio nel campo Dominio. Puoi aggiungere fino a un massimo di 250 domini.
Per i siti web, la chiave del sito reCAPTCHA è univoca per i domini e i sottodomini specificati. Puoi specificare più di un dominio se pubblichi il tuo sito web da più domini. Se specifichi un dominio (ad esempio
examplepetstore.com
), non è necessario specificarne i sottodomini (ad esempiosubdomain.examplepetstore.com
).
- Espandi la sezione Web application firewall (WAF), verifica del dominio, pagine AMP e richiesta di verifica.
- Attiva l'opzione Web application firewall (WAF).
-
Dal menu a discesa Funzionalità, seleziona Token di sessione.
-
(Facoltativo) Attiva Disattiva la verifica del dominio.
La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
- Fai clic su Crea chiave.
La chiave appena creata è elencata nella pagina Chiavi reCAPTCHA.
gcloud
Per creare chiavi sito WAF, utilizza il comando gcloud recaptcha key create:gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME
Fornisci i seguenti valori:
- DISPLAY_NAME: nome della chiave. In genere il nome di un sito.
-
WAF_FEATURE: nome della funzionalità WAF.
Specifica
session-token
. -
WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - INTEGRATION_TYPE: tipo di integrazione.
Specifica
SCORE
. - DOMAIN_NAME: domini o sottodomini dei siti web autorizzati a utilizzare
la chiave. Indica più domini come elenco separato da virgole.
(Facoltativo) Specifica
--allow-all-domains
per disabilitare la verifica del dominio.La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
REST &CMD LINE
Per informazioni di riferimento sull'API su tipi di chiavi e tipi di integrazione, consulta le sezioni Chiave e Tipo di integrazione.Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- DISPLAY_NAME: nome visualizzato per la chiave
- WAF_SERVICE: nome del fornitore di servizi WAF. Specifica
CA
per Google Cloud Armor. - WAF_FEATURE: nome della funzionalità WAF.
Specifica
session-token
. - DOMAINS (solo per siti web e WAF): domini o sottodomini di siti web autorizzati a utilizzare la chiave. Indica più domini come elenco separato da virgole. (Facoltativo) Specifica
--allow-all-domains
per disattivare la verifica del dominio.La disattivazione della verifica del dominio è un rischio per la sicurezza perché non esistono limitazioni sul sito, quindi la tua chiave reCAPTCHA può essere utilizzata e utilizzata da chiunque.
- TYPE_OF_INTEGRATION (solo per siti web e WAF):
Specifica
SCORE
.
Metodo HTTP e URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
Corpo JSON richiesta:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "TYPE_OF_INTEGRATION" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
ed esegui il seguente comando:$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand ContentDovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "WAF session-token test key", "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "SCORE", }, "wafSettings": { "wafService": "CA", "wafFeature": "SESSION_TOKEN" } }
Aggiungi la chiave del sito del token di sessione e
waf=session
al codice JavaScript di reCAPTCHA.Il seguente script di esempio mostra come implementare un token di sessione su una pagina web:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>reCAPTCHA WAF Session Token</title> <script src="https://www.google.com/recaptcha/enterprise.js?render=SESSION_TOKEN_SITE_KEY&waf=session" async defer></script> </head> </html>
Configura i criteri di sicurezza di Google Cloud Armor. Per informazioni su come utilizzare la chiave del sito del token di sessione reCAPTCHA con il tuo criterio di sicurezza, consulta Configurare le regole per la gestione dei bot.
Esempi di utilizzo di più funzionalità in una singola applicazione
Puoi utilizzare una o più funzionalità reCAPTCHA Enterprise per WAF in una singola applicazione.
Esempio 1: utilizzo dei token di sessione e della pagina di verifica reCAPTCHA
Puoi aggiungere un token di sessione reCAPTCHA alle pagine a cui un utente potrebbe accedere, in modo che il cookie venga aggiornato periodicamente, ad esempio una pagina di accesso. Configura la regola del criterio di sicurezza di Google Cloud Armor per reindirizzare la richiesta a una pagina di verifica reCAPTCHA quando il punteggio è basso.
L'illustrazione seguente mostra un flusso di lavoro che utilizza i token di sessione reCAPTCHA e le pagine di verifica reCAPTCHA:
Esempio 2: utilizzo dei token di azione reCAPTCHA e della pagina di verifica reCAPTCHA
Puoi aggiungere un token di azione reCAPTCHA per proteggere un'azione utente, ad esempio checkout. Configura la regola del criterio di sicurezza di Google Cloud Armor per reindirizzare la richiesta a una pagina di test reCAPTCHA in una delle seguenti condizioni:
- Il punteggio è basso.
- L'attributo
action_name
del token di azione non corrisponde all'azione dell'utente protetta.
L'illustrazione seguente mostra un flusso di lavoro che utilizza token di azione reCAPTCHA e funzionalità della pagina di verifica reCAPTCHA:
Il seguente script di esempio mostra come utilizzare un token di azione reCAPTCHA e reindirizzare a una pagina di verifica reCAPTCHA con il token di azione allegato come intestazione:
<script src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_SITE_KEY"></script>
<script>
function onSuccess(token) {
const xhr = new XMLHttpRequest();
xhr.open('GET','http://www.abc.com/checkout', false);
xhr.setRequestHeader("X-Recaptcha-Token", token);
xhr.onreadystatechange = function() {
// Make sure that the request is finished and response is ready with 200
if (this.readyState == 4 && this.status == 200) {
// Display the response, it could be a reCAPTCHA challenge
// page based on your Google Cloud Armor security rule settings.
document.open();
document.write(xhr.responseText);
document.close();
}
};
xhr.send(null);
}
grecaptcha.enterprise.ready(function () {
document.getElementById("execute-button").onclick = () => {
grecaptcha.enterprise.execute('ACTION_TOKEN_SITE_KEY', {
}).then(onSuccess, onError);
};
});
</script>