reCAPTCHA Express kann auf einem Anwendungsserver eingerichtet werden, wenn eine clientseitige Einbindung mit dem reCAPTCHA-JavaScript oder dem mobilen SDK nicht möglich ist. Zum Beispiel Schutz für API-Endpunkte.
reCAPTCHA Express ist eine Funktion, mit der Sie Bewertungen ohne clientseitige Integration oder clientseitige Signale erstellen können. Bei reCAPTCHA Express werden nur Backend-Signale verwendet, um einen reCAPTCHA-Risikowert zu generieren. Anhand dieses Risikowerts können Sie entscheiden, ob die Anfrage bearbeitet, zu einer Challenge-Seite weitergeleitet oder zur späteren Analyse protokolliert werden soll.
Hinweise
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Notieren Sie sich Ihre Google Cloud Projekt-ID für die spätere Verwendung.Make sure that billing is enabled for your Google Cloud project.
Enable the reCAPTCHA Enterprise API.
API-Schlüssel für die Authentifizierung erstellen:
Rufen Sie in der Google Cloud Console die Seite Anmeldedaten auf.
Klicken Sie auf
Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.Notieren Sie sich den API-Schlüssel zur späteren Verwendung.
reCAPTCHA Express-Schlüssel erstellen
Wenn Sie reCAPTCHA Express implementieren möchten, erstellen Sie einen reCAPTCHA Express-Schlüssel.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud
Verwenden Sie den Befehl gcloud recaptcha keys create, um reCAPTCHA-Schlüssel zu erstellen.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
Führen Sie den Befehl gcloud recaptcha keys create aus:
Linux, macOS oder Cloud Shell
gcloud recaptcha keys create \ --express \ --display-name=DISPLAY_NAME
Windows (PowerShell)
gcloud recaptcha keys create ` --express ` --display-name=DISPLAY_NAME
Windows (cmd.exe)
gcloud recaptcha keys create ^ --express ^ --display-name=DISPLAY_NAME
Die Antwort enthält den neu erstellten reCAPTCHA-Schlüssel.
REST
API-Referenzinformationen zu Schlüsseltypen und Integrationstypen finden Sie unter Schlüssel und Integrationstyp.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- DISPLAY_NAME: Name für den Schlüssel. In der Regel ein Websitename.
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "expressSettings": {} }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth 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 ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "DISPLAY_NAME, "expressSettings": { } }
Notieren Sie sich Ihren Express-Schlüssel für die spätere Verwendung.
Bewertung erstellen
Wenn Sie eine Anfrage von Ihrem Anwendungsserver an reCAPTCHA senden möchten, erstellen Sie eine Bewertung mit der Methode projects.assessments.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- API_KEY: Der API-Schlüssel, den Sie für die Authentifizierung erstellt haben.
- EXPRESS_KEY: reCAPTCHA Express-Schlüssel, den Sie für Ihre Anwendung erstellt haben.
- USER_IP_ADDRESS: Die IP-Adresse in der Anfrage vom Gerät des Nutzers, die sich auf dieses Ereignis bezieht.
- HEADER_INFO: Optional. Die HTTP-Header, die der Client an Ihren Anwendungsserver gesendet hat. Es handelt sich um ein String-Array, das Anfrageheader im Format „[key:value]“ enthält. Beispiel: `[key:value, key:value,...]`. Wir empfehlen, so viele Header wie möglich in der erforderlichen Reihenfolge anzugeben. Achten Sie darauf, dass die Reihenfolge der Header in allen Anfragen derselben Sitzung einheitlich ist.
- JA3_FINGERPRINT: Optional. JA3 ist ein MD5-Fingerabdruck bestimmter Felder des TLS-ClientHello-Pakets. Weitere Informationen finden Sie unter JA3 – Eine Methode zum Profilieren von SSL/TLS-Clients.
- URI_NAME: Optional. Der URI, auf den der Nutzer zugreift.
- USER_AGENT: Optional. Der User-Agent, der in der Anfrage vom Gerät des Nutzers für dieses Ereignis enthalten ist.
- ACCOUNT_ID: Optional. Eine eindeutige und dauerhafte Kennung für das Konto des Nutzers, z. B. ein gehashter Kontoname.
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY
JSON-Text der Anfrage:
{ "event": { "siteKey": "EXPRESS_KEY", "express": true, "userIpAddress": "USER_IP_ADDRESS", "headers": ["HEADER_INFO"], "ja3": "JA3_FINGERPRINT", "requestedUri": "URI_NAME", "userAgent": "USER_AGENT", "user_info": { "account_id": "ACCOUNT_ID" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/123456789/assessments/abcdef1234000000", "event": { "token": "", "siteKey": "6L...", "userAgent": "Mozilla/5.0 (X11; CrOS x86_64 13816.55.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.86 Safari/537.36", "userIpAddress": "1.2.3.4", "express": true, "requestedUri": "https://example.com/", "user_info": { "account_id": "123456789" }, "headers": [ "Origin: https://example.com", "Referer: https://example.com.login"], }, "riskAnalysis": { "score": 0.7, "reasons": [] } }
Bewertungen interpretieren
reCAPTCHA Express gibt nur zwei Punktzahlen zurück: 0.3
und 0.7
.
0.3
gibt an, dass die Nutzerinteraktion ein höheres Risiko darstellt und wahrscheinlich betrügerisch ist. 0.7
gibt an, dass die Nutzerinteraktion ein geringes Risiko darstellt und wahrscheinlich legitim ist.
Wenn nicht genügend Signale vorhanden sind, gibt reCAPTCHA Express standardmäßig 0.7
zurück.
Nächste Schritte
- Informationen zum Interpretieren von Risikobewertungen
- Informationen zur Verwendung von reCAPTCHA Express auf der WAF-Ebene