Questa pagina spiega come verificare la risposta di un utente a un test reCAPTCHA dalla tua applicazione di un backend cloud.
Per gli utenti web, puoi ottenere il token di risposta dell'utente in uno dei tre modi seguenti:
g-recaptcha-response
parametro POST quando l'utente invia il modulo sul tuo sitogrecaptcha.getResponse(opt_widget_id)
dopo che l'utente ha completato il test reCAPTCHA- Come argomento stringa alla funzione di callback.
se
data-callback
è specificato nell'attributo del tagg-recaptcha
o il parametro di callback nel metodogrecaptcha.render
Per gli utenti della libreria Android, puoi chiamare il SafetyNetApi.RecaptchaTokenResult.getTokenResult() per ottenere il token di risposta se lo stato restituisce "esito positivo".
Restrizioni relative ai token
Ogni token di risposta dell'utente reCAPTCHA è valido per due minuti e può essere verificato solo una volta per per prevenire gli attacchi di ripetizione. Se ti serve un nuovo token, puoi eseguire nuovamente la verifica reCAPTCHA.
Dopo aver ottenuto il token di risposta, devi verificarlo entro due minuti con reCAPTCHA utilizzando il metodo seguente per garantire che il token sia valido.
Richiesta API
URL: https://www.google.com/recaptcha/api/siteverify METODO: PUBBLICA
Parametro POST | Descrizione |
---|---|
secret |
Obbligatorio. La chiave condivisa tra il tuo sito e reCAPTCHA. |
response |
Obbligatorio. Il token di risposta dell'utente fornito dall'integrazione lato client di reCAPTCHA sul tuo sito. |
remoteip |
(Facoltativo) L'indirizzo IP dell'utente. |
Risposta dell'API
La risposta è un oggetto JSON:
{
"success": true|false,
"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
}
Per reCAPTCHA per Android:
{
"success": true|false,
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"apk_package_name": string, // the package name of the app where the reCAPTCHA was solved
"error-codes": [...] // optional
}
Messaggio del codice di errore
Codice di errore | Descrizione |
---|---|
missing-input-secret | Parametro secret mancante. |
invalid-input-secret | Il parametro secret non è valido o è in un formato non corretto. |
missing-input-response | Parametro di risposta mancante. |
invalid-input-response | Il parametro di risposta non è valido o è in un formato non corretto. |
richiesta non valida | La richiesta non è valida o è in un formato non corretto. |
timeout-o-duplicato | La risposta non è più valida: è troppo vecchia o è stata utilizzata in precedenza. |