Antwort des Nutzers überprüfen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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. |
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-25 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-25 (UTC)."],[[["\u003cp\u003eThis page details how to verify if a user successfully completed a reCAPTCHA challenge on your website or Android app.\u003c/p\u003e\n"],["\u003cp\u003eYou'll receive a response token from the reCAPTCHA integration that needs to be verified within two minutes using the reCAPTCHA API.\u003c/p\u003e\n"],["\u003cp\u003eVerification involves sending a POST request to the reCAPTCHA API with the secret key, response token, and optionally, the user's IP address.\u003c/p\u003e\n"],["\u003cp\u003eThe API response is a JSON object indicating success or failure, along with details like timestamp and potential error codes.\u003c/p\u003e\n"],["\u003cp\u003eEach response token is valid for a single use and expires after two minutes to prevent replay attacks.\u003c/p\u003e\n"]]],["To verify a user's reCAPTCHA response, obtain the response token via the `g-recaptcha-response` parameter, `grecaptcha.getResponse()`, or a callback function for web users or the `SafetyNetApi.RecaptchaTokenResult.getTokenResult()` method for Android. Then, within two minutes, send a POST request to `https://www.google.com/recaptcha/api/siteverify` with `secret` (your site's key) and `response` (the user token). The optional `remoteip` can be included. The JSON response indicates success, timestamp, and hostname or `apk_package_name` if Android, and error codes if any.\n"],null,["# Verifying the user's response\n\nThis page explains how to verify a user's response to a reCAPTCHA challenge from your application's\nbackend.\n\nFor web users, you can get the user's response token in one of three ways:\n\n- `g-recaptcha-response` POST parameter when the user submits the form on your site\n- [`grecaptcha.getResponse(opt_widget_id)`](/recaptcha/docs/display#js_api) after the user completes the reCAPTCHA challenge\n- As a string argument to your [callback function](/recaptcha/docs/display#render_param) if `data-callback` is specified in either the `g-recaptcha` tag attribute or the callback parameter in the `grecaptcha.render` method\n\nFor Android library users, you can call the\n[SafetyNetApi.RecaptchaTokenResult.getTokenResult()](https://developers.google.com/android/reference/com/google/android/gms/safetynet/SafetyNetApi.RecaptchaTokenResult.html#getTokenResult())\nmethod to get response token if the status returns successful.\n\nToken Restrictions\n------------------\n\nEach reCAPTCHA user response token is valid for two minutes, and can only be verified *once* to\nprevent replay attacks. If you need a new token, you can re-run the reCAPTCHA verification.\n\nAfter you get the response token, you need to verify it within two minutes with reCAPTCHA using the\nfollowing API to ensure the token is valid.\n\nAPI Request\n-----------\n\nURL: `https://www.google.com/recaptcha/api/siteverify`\n\nMETHOD: `POST`\n\n| POST Parameter | Description |\n|----------------|---------------------------------------------------------------------------------------------------|\n| `secret` | Required. The shared key between your site and reCAPTCHA. |\n| `response` | Required. The user response token provided by the reCAPTCHA client-side integration on your site. |\n| `remoteip` | Optional. The user's IP address. |\n\nAPI Response\n------------\n\nThe response is a JSON object: \n\n {\n \"success\": true|false,\n \"challenge_ts\": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)\n \"hostname\": string, // the hostname of the site where the reCAPTCHA was solved\n \"error-codes\": [...] // optional\n }\n\nFor reCAPTCHA Android: \n\n {\n \"success\": true|false,\n \"challenge_ts\": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)\n \"apk_package_name\": string, // the package name of the app where the reCAPTCHA was solved\n \"error-codes\": [...] // optional\n }\n\n### Error code reference\n\n| Error code | Description |\n|--------------------------|---------------------------------------------------------------------------------|\n| `missing-input-secret` | The secret parameter is missing. |\n| `invalid-input-secret` | The secret parameter is invalid or malformed. |\n| `missing-input-response` | The response parameter is missing. |\n| `invalid-input-response` | The response parameter is invalid or malformed. |\n| `bad-request` | The request is invalid or malformed. |\n| `timeout-or-duplicate` | The response is no longer valid: either is too old or has been used previously. |"]]