Antwort des Nutzers überprüfen

Auf dieser Seite wird erläutert, wie Sie die Antwort eines Nutzers auf eine reCAPTCHA-Abfrage aus dem Back-End Ihrer Anwendung prüfen.

Für Webnutzer gibt es drei Möglichkeiten, das Antworttoken des Nutzers abzurufen:

  • g-recaptcha-response POST-Parameter, wenn der Nutzer das Formular auf Ihrer Website absendet
  • grecaptcha.getResponse(opt_widget_id), nachdem der Nutzer die reCAPTCHA-Aufgabe abgeschlossen hat
  • Als Stringargument für die Callback-Funktion, wenn data-callback entweder im g-recaptcha-Tag-Attribut oder im Callback-Parameter in der grecaptcha.render-Methode angegeben wird

Nutzer von Android-Bibliotheken können die Methode SafetyNetApi.RecaptchaTokenResult.getTokenResult() aufrufen, um ein Antworttoken abzurufen, wenn der Status erfolgreich zurückgegeben wird.

Token-Einschränkungen

Jedes reCAPTCHA-Nutzerantworttoken ist zwei Minuten lang gültig und kann nur einmal bestätigt werden, um Angriffe auf die Wiederholung zu vermeiden. Wenn Sie ein neues Token benötigen, können Sie die reCAPTCHA-Bestätigung noch einmal ausführen.

Nachdem Sie das Antworttoken erhalten haben, müssen Sie es innerhalb von zwei Minuten mit reCAPTCHA bestätigen. Damit prüfen Sie, ob 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.
Antwort Erforderlich. Das Token für die Nutzerantwort, das über die clientseitige reCAPTCHA-Integration auf deiner 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 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
Fehlendes Eingabe-Secret Der Secret-Parameter fehlt.
Ungültiger Eingabeschlüssel Der geheime Parameter ist ungültig oder fehlerhaft.
Fehlende-Eingabeantwort Der Antwortparameter fehlt.
ungültige Eingabeeingabe Der Antwortparameter ist ungültig oder fehlerhaft.
fehlerhafte Anfrage Die Anfrage ist ungültig oder fehlerhaft.
Zeitüberschreitung oder Duplikat Die Antwort ist nicht mehr gültig: Entweder ist sie zu alt oder wurde bereits verwendet.