Antwort des Nutzers überprüfen

Auf dieser Seite wird erläutert, wie Sie die Antwort eines Nutzers auf eine reCAPTCHA-Abfrage über das Back-End.

Webnutzer haben drei Möglichkeiten, das Antworttoken des Nutzers abzurufen:

  • g-recaptcha-response POST-Parameter, wenn der Nutzer das Formular auf Ihrer Website sendet
  • grecaptcha.getResponse(opt_widget_id), nachdem der Nutzer fertig ist reCAPTCHA-Aufgabe
  • Als Stringargument für Ihre Callback-Funktion, wenn data-callback entweder im g-recaptcha-Tagattribut oder im Callback-Parameter in der Methode grecaptcha.render angegeben ist

Nutzer der Android-Bibliothek können die SafetyNetApi.RecaptchaTokenResult.getTokenResult() -Methode zum Abrufen des Antworttokens, wenn der Status erfolgreich ist.

Tokeneinschränkungen

Jedes reCAPTCHA-Nutzerantworttoken ist zwei Minuten lang gültig und kann nur einmal bis zum Replay-Angriffe verhindern können. Wenn Sie ein neues Token benötigen, können Sie die reCAPTCHA-Überprüfung noch einmal ausführen.

Nachdem Sie das Antworttoken erhalten haben, müssen Sie es innerhalb von zwei Minuten mit reCAPTCHA bestätigen. Verwenden Sie dazu den folgenden API verwenden, um sicherzustellen, dass das Token gültig ist.

API-Anfrage

URL: https://www.google.com/recaptcha/api/siteverify

METHODE: POST

POST-Parameter Beschreibung
secret Erforderlich. Der gemeinsame Schlüssel zwischen Ihrer Website und reCAPTCHA.
response Erforderlich. Das Nutzerantworttoken, das über die clientseitige reCAPTCHA-Integration auf Ihrer Website bereitgestellt wird.
remoteip Optional. Die IP-Adresse des Nutzers.

API-Antwort

Die Antwort ist ein JSON-Objekt:

{
  "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
}

Für reCAPTCHA für 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
}

Fehlercode-Referenz

Fehlercode Beschreibung
missing-input-secret Der Parameter „secret“ fehlt.
invalid-input-secret Der geheime Parameter ist ungültig oder fehlerhaft.
missing-input-response Der Parameter „response“ fehlt.
invalid-input-response Der Antwortparameter ist ungültig oder fehlerhaft.
bad-request Die Anfrage ist ungültig oder fehlerhaft.
timeout-or-duplicate Die Antwort ist nicht mehr gültig: Sie ist entweder zu alt oder wurde bereits verwendet.