Ein universeller Fraud Defense-Schlüssel schützt Ihre Webanwendungen und API-Endpunkte vor automatisierten Bot-Angriffen, Missbrauch von Anmeldedaten und Betrug. Mit einem universellen Schlüssel können Sie Schutzmaßnahmen auf Ihrer Website mit automatischer Abfangung von Netzwerkanfragen (AutoExecute), manueller JavaScript-Ausführung oder einer Kombination aus beiden Methoden bereitstellen.
Hinweis
Konfigurieren Sie Domains für Ihren Universalschlüssel.
Wenn Sie die Spalte Status für geschützte Endpunkte in derGoogle Cloud Console aufrufen möchten, benötigen Sie die Cloud Monitoring-Berechtigung
monitoring.timeSeries.list. Diese Berechtigung ist in den vordefinierten Fraud Defense-Rollen enthalten: reCAPTCHA Enterprise Admin, reCAPTCHA Enterprise Editor und reCAPTCHA Enterprise Viewer.
Universelle Schlüssel auf Ihrer Website installieren
Wenn Sie den Universalschlüssel installieren und Ihre Webseiten schützen möchten, können Sie die AutoExecute-Konfiguration, die manuelle JavaScript-Installation oder beide Methoden zusammen für verschiedene Endpunkte mit demselben Universalschlüssel verwenden:
- AutoExecute-Konfiguration (empfohlen): Fängt asynchrone Netzwerkanfragen an konfigurierte URL-Pfade automatisch ab und hängt das reCAPTCHA-Token an den Anfrageheader an.
- Manuelle Installation: Verwendet manuelle
grecaptcha.enterprise.execute()-Aufrufe oder HTML-Button-Attribute. Sie können diese Methode allein oder zusammen mit AutoExecute für Netzwerkanfragen verwenden, die von AutoExecute nicht unterstützt werden, für Anfragen, die eine benutzerdefinierte Tokenplatzierung in der Nutzlast erfordern, oder während inkrementeller Migrationen zu AutoExecute.
AutoExecute konfigurieren
AutoExecute kann die Frontend-JavaScript-Integration vereinfachen, indem Netzwerkanfragen auf Ihren Webseiten abgefangen und manuelle grecaptcha.enterprise.execute()-Aufrufe für jede Frontend-Aktion vermieden werden.
Funktionsweise von AutoExecute
Das Fraud Defense-Skript wird automatisch in Netzwerkaktionen eingebunden, die in der Richtlinienkonfiguration Ihres Universalschlüssels definiert sind. Wenn das Script eine asynchrone Netzwerkanfrage an einen konfigurierten Pfad erkennt, fängt es die Anfrage ab, löst eine Risikobewertung aus und zeigt dem Nutzer möglicherweise eine CAPTCHA-Eingabe an, bevor die ursprüngliche Anfrage fortgesetzt wird. Das generierte Antworttoken wird automatisch an den X-Recaptcha-Token-Header in der Anfrage angehängt.
Unterstützte Netzwerk-APIs
AutoExecute fängt nur asynchrone Netzwerkanfragen ab, die von den folgenden APIs (einschließlich Frameworks wie AJAX, die darauf basieren) initiiert werden:
| API-Name | Konfiguration des Zeitlimits | Implementierungsbeispiel |
|---|---|---|
| Fetch API | Legen Sie Zeitlimits mit dem AbortSignal-Controller fest. |
AbortSignal.timeout(n) |
| XMLHttpRequest | Legen Sie Zeitlimits mit dem nativen Attribut .timeout fest. |
xhr.timeout = n |
Best Practices für die Integration
- Nur vom Nutzer ausgelöste Aktionen: AutoExecute unterstützt keine Ressourcen, die beim Seitenaufbau automatisch geladen werden. Um Integrationsfehler zu vermeiden, wenden Sie „AutoExecute“ nur auf Anfragen an, die durch explizite Nutzerinteraktionen ausgelöst werden (z. B. Klicken auf eine Anmelde- oder Senden-Schaltfläche).
- Latenzzeitüberschreitungen verhindern: Fraud Defense-Challenge-Abläufe können gelegentlich zu Netzwerkverzögerungen führen. Um clientseitige Zeitüberschreitungen zu vermeiden, sollten Sie explizite Zeitüberschreitungen für Anfragen immer direkt mit den in der Tabelle aufgeführten Mechanismen konfigurieren.
- Nur sensible Pfade schützen: Geben Sie
protectedEndpointsnur für sensible Pfade an und verwenden Sie im Parameteractioneinen aussagekräftigen Namen für die Nutzerinteraktion. Vermeiden Sie es, jeden Endpunkt zu schützen, da das Auslösen von Fraud Defense bei jeder Backend-Anfrage die Leistung beeinträchtigen kann. Weitere Informationen finden Sie unter Aktionen.
Script-Tag auf Ihren Webseiten einfügen
Wenn Sie Fraud Defense auf Ihrer Webseite laden möchten, fügen Sie die JavaScript API mit Ihrem Universalschlüssel im <head></head>-Element Ihrer Webseite hinzu:
<head>
<script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
...
</head>
Fraud Defense verwendet standardmäßig die Sprache des Browsers. Wenn Sie eine andere Sprache angeben möchten, verwenden Sie das Attribut hl=LANG in Ihrem Script. Wenn Sie beispielsweise Französisch verwenden möchten, geben Sie Folgendes an:
<script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID&hl=fr"></script>
Informationen zu den unterstützten Sprachen finden Sie unter Sprachcodes für Fraud Defense.
Geschützte Endpunkte konfigurieren
Wählen Sie einen Tab aus, um geschützte Endpunkte für Ihren Universalschlüssel zu konfigurieren:
Console
Rufen Sie in der Google Cloud Console die Seite Fraud Defense auf.
Prüfen Sie in der Symbolleiste der Console, ob Ihr Projekt in der Ressourcenauswahl angezeigt wird. Wenn nicht, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.
Wählen Sie den Tab Keys aus.
Der Tab Schlüssel hat zwei Ansichten: Karten und Tabelle. Wenn Ihr Projekt viele Schlüssel enthält, ist nur die Ansicht Tabelle verfügbar.
Suchen Sie im Abschnitt reCAPTCHA-Schlüssel den universellen Schlüssel, den Sie konfigurieren möchten:
- Klicken Sie in der Ansicht Karten auf der Schlüsselkarte auf Schlüsseldetails.
- Klicken Sie in der Ansicht Tabelle auf den Namen des Schlüssels.
Klicken Sie auf der Seite Schlüsseldetails auf den Tab Integration.
Wählen Sie im Schritt reCAPTCHA auf Ihrer Website hinzufügen den Tab AutoExecute (empfohlen) aus.
Optional: Wenn Sie bestimmte Endpunkte manuell schützen möchten, klicken Sie auf den Tab Manuell, um das
grecaptcha.enterprise.execute()-Code-Snippet aufzurufen.Klicken Sie im Abschnitt Geschützte Endpunkte auf Endpunkt hinzufügen, um jeden Endpunkt zu konfigurieren, den Sie schützen möchten:
- Geben Sie im Feld Aktion einen Namen für die Nutzerinteraktion ein. Beispiel:
login,registeroderadd_to_cart. Weitere Informationen finden Sie unter Aktionen. - Geben Sie im Feld Pfad den eindeutigen URL-Pfad oder das Glob-Muster ein, das abgefangen werden soll. Beispiel:
/login_api,/register_apioder/cart_api/add/*. - Optional: Klicken Sie auf Endpunkt hinzufügen, um einen weiteren Endpunkt hinzuzufügen.
- Geben Sie im Feld Aktion einen Namen für die Nutzerinteraktion ein. Beispiel:
Klicken Sie auf Speichern, um die geschützten Endpunkte zu speichern.
Nachdem Sie die Konfiguration gespeichert haben, wird in der Spalte Status der Tabelle Geschützte Endpunkte angezeigt, ob Fraud Defense in den letzten 24 Stunden Traffic für die einzelnen Aktionen erhalten hat. Es kann 10 Minuten dauern, bis der Trafficstatus aktualisiert wird, nachdem ein Endpunkt zum ersten Mal Traffic empfangen hat.
gcloud
Verwenden Sie den Befehl gcloud alpha recaptcha policies describe, um die aktuelle Richtlinienkonfiguration für Ihren Universalschlüssel zu prüfen:
gcloud alpha recaptcha policies describe --key=KEY_ID
Wenn Sie die Richtlinienkonfiguration mit Ihren geschützten Endpunkten aktualisieren möchten, erstellen Sie eine YAML-Datei (z. B. POLICY.yaml), in der Sie die geschützten Pfade und Aktionen definieren:
clientSettings:
allowedDomains:
- example.com
protectedEndpointGroup:
protectedEndpoints:
- path: "/login_api"
action: login
- path: "/register_api"
action: register
- path: "/cart_api/add/*"
action: add_to_cart
Aktualisieren Sie die Schlüsselkonfiguration mit der YAML-Datei. Verwenden Sie dazu den Befehl gcloud alpha recaptcha policies update:
gcloud alpha recaptcha policies update \
--key=KEY_ID \
--policy=POLICY.yaml
REST API
Verwenden Sie die Methode projects.keys.updatePolicy, um die Richtlinienkonfiguration zu aktualisieren und geschützte Endpunkte mit der REST API zu definieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID in Google Cloud
- KEY_ID: die ID Ihres Universalschlüssels
HTTP-Methode und URL:
PATCH https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys/KEY_ID/policy?updateMask=clientSettings
JSON-Text anfordern:
{
"clientSettings": {
"allowedDomains": [
"example.com"
],
"protectedEndpointGroup": {
"protectedEndpoints": [
{
"path": "/login_api",
"action": "login"
},
{
"path": "/register_api",
"action": "register"
},
{
"path": "/cart_api/add/*",
"action": "add_to_cart"
}
]
}
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Wenn die Anfrage erfolgreich ist, wird die aktualisierte Richtlinienkonfiguration zurückgegeben.Syntax und Limits für geschützte Endpunkte
Sie können bis zu 25 geschützte Endpunkte pro Universalschlüssel konfigurieren. Jeder Endpunkt muss die folgenden Anforderungen erfüllen:
action: Der Aktionsname muss 1 bis 100 Zeichen enthalten und darf nur Buchstaben, Zahlen, Schrägstriche (/) und Unterstriche (_) enthalten.path(Groß-/Kleinschreibung beachten): Der Pfad muss die folgenden Kriterien erfüllen:- Er muss eindeutig sein, mit
/beginnen und 1 bis 200 Zeichen ohne aufeinanderfolgende Schrägstriche (//) enthalten. - Fügen Sie mindestens ein Segment hinzu, das kein Platzhalter ist. Beispiel: darf nicht
/,/*,/**oder/*/sein. - Platzhalter müssen vollständige Segmente ausfüllen:
*entspricht einem einzelnen Segment./api/*/loginoder/api/*sind beispielsweise gültig,/api/login*ist ungültig und**entspricht mehreren Segmenten nur als letztes Segment./api/**ist beispielsweise gültig,/api/**/loginjedoch nicht.
- Er muss eindeutig sein, mit
Verhalten beim Pfadabgleich
AutoExecute wertet geschützte Endpunkte nacheinander von oben nach unten nur anhand des URL-Pfads aus. Die Zieldomain, das Schema und die Suchparameter werden ignoriert. Dieses Verhalten hat die folgenden praktischen Auswirkungen:
- Reihenfolge des Pfadabgleichs: AutoExecute wendet den ersten übereinstimmenden Endpunkt an. Wenn kein Endpunkt übereinstimmt, wird die Anfrage von AutoExecute nicht abgefangen. Platzieren Sie bestimmte Pfade vor Platzhaltermustern, um zu vermeiden, dass spezifischere Routen verdeckt werden. Führen Sie beispielsweise
/mysite/loginvor/*/loginauf. - Anfragen von Drittanbietern: Wenn Drittanbieter-Tools, die auf Ihrer Seite ausgeführt werden (z. B. Analyse- oder Partnerskripts), Anfragen an Pfade senden, die mit Ihren geschützten Endpunkten übereinstimmen (z. B.
https://analytics.example.net/login, das mit/loginübereinstimmt), werden diese ebenfalls von AutoExecute abgefangen. Dies kann zu zusätzlicher Netzwerklatenz, verzerrten Messwerten oder unerwarteten CAPTCHA-Abfragen führen. Um Konflikte zu vermeiden, sollten Sie darauf achten, dass Ihre geschützten Pfade eindeutig sind (z. B./auth/v1/login). Alternativ können Sie die manuelle Installation verwenden, wenn Pfadkonflikte auftreten. - Domainübergreifende APIs: Wenn Ihre Backend-API auf einer anderen Domain als Ihre Website gehostet wird (z. B.
cdn.example.comim Vergleich zuwww.example.com), funktioniert AutoExecute automatisch ohne zusätzliche Domainkonfiguration.
Wenn der Abgleich mit bestimmten Zieldomains für Ihre Integration wichtig ist, reichen Sie eine Funktionsanfrage ein.
Tokens im Backend verifizieren
Rufen Sie in Ihrem Backend das Antworttoken aus dem Anfrageheader X-Recaptcha-Token ab und erstellen Sie innerhalb von zwei Minuten eine Bewertung.
Manuelle Installation
Wir empfehlen, die Fraud Defense-Überprüfung für eine Nutzerinteraktion hinzuzufügen, die überprüft werden muss. Wenn Sie beispielsweise die Sendeaktion eines Formulars überprüfen möchten, müssen Sie die Fraud Defense-Überprüfung für die Sendeaktion hinzufügen.
Wählen Sie je nachdem, wo Sie die Fraud Defense-Überprüfung hinzufügen möchten, die entsprechende Option aus:
Bestätigung bei einer Nutzerinteraktion hinzufügen
Wenn Sie reCAPTCHA auf Ihrer Webseite laden möchten, fügen Sie die JavaScript API mit Ihrem universellen Schlüssel im
<head></head>-Element Ihrer Webseite hinzu:<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> ... </head>Fraud Defense verwendet standardmäßig die Sprache des Browsers. Wenn Sie eine andere Sprache angeben möchten, verwenden Sie das Attribut
hl=LANGin Ihrem Skript. Wenn Sie beispielsweise Französisch verwenden möchten, geben Sie Folgendes an:<script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID&hl=fr"></script>Informationen zu den unterstützten Sprachen finden Sie unter Sprachcodes für Fraud Defense.
Wenn Sie einen Ort für das Logo angeben möchten, verwenden Sie
badge=LOCATIONals Suchparameter im Script-Tag. Beispiel:https://www.google.com/recaptcha/enterprise.js?render=KEY_ID&badge=bottomleftStandardmäßig ist der Standort aufbottomrightfestgelegt. Weitere mögliche Werte sindinlineundbottomleft.So fügen Sie einer Nutzerinteraktion eine Fraud Defense-Überprüfung hinzu:
- Damit
grecaptcha.enterprise.execute()nach dem Laden der Fraud Defense-Bibliothek ausgeführt wird, verwenden Siegrecaptcha.enterprise.ready(). Rufen Sie
grecaptcha.enterprise.execute()für jede Interaktion auf, die Sie mit Ihrem Universalschlüssel schützen möchten. Geben Sie im Parameteractioneinen aussagekräftigen Namen für eine Nutzerinteraktion an. Weitere Informationen finden Sie unter Aktionen.Das folgende Beispiel zeigt, wie
grecaptcha.enterprise.execute()für eine Anmeldeaktion aufgerufen wird:<script> // Use `requestSubmit()` for extra features like browser input // validation. function onClick(e) { e.preventDefault(); grecaptcha.enterprise.ready(async () => { const token = await grecaptcha.enterprise.execute( 'KEY_ID', {action: 'LOGIN'} ); // IMPORTANT: The 'token' that results from execute is an // encrypted response sent by Fraud Defense to // the end user's browser. // This token must be validated by creating an assessment. // See https://cloud.google.com/recaptcha/docs/create-assessment }); } </script>
- Damit
Nachdem das Token generiert wurde, wird das reCAPTCHA-Token an Ihr Backend gesendet und es wird innerhalb von zwei Minuten eine Bewertung erstellt.
Fraud Defense zu einem HTML-Button hinzufügen
Wenn Sie reCAPTCHA auf Ihrer Webseite laden möchten, fügen Sie die JavaScript API mit Ihrem universellen Schlüssel im
<head></head>-Element Ihrer Webseite hinzu:<head> <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script> ... </head>Fraud Defense verwendet standardmäßig die Sprache des Browsers. Wenn Sie eine andere Sprache angeben möchten, verwenden Sie das Attribut
hl=LANGin Ihrem Skript. Wenn Sie beispielsweise Französisch verwenden möchten, geben Sie Folgendes an:<script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID&hl=fr"></script>Informationen zu den unterstützten Sprachen finden Sie unter Sprachcodes für Fraud Defense.
So fügen Sie Fraud Defense zu einer HTML-Schaltfläche hinzu:
Definieren Sie eine Callback-Funktion, um das Token zu verarbeiten.
<script> function onSubmit(token) { document.getElementById("demo-form").submit(); } // Use `requestSubmit()` for extra features like browser input // validation. </script>Weitere Informationen finden Sie im Artikel zur Methode requestSubmit().
Fügen Sie dem HTML-Button Attribute hinzu.
<button class="g-recaptcha" data-sitekey="KEY_ID" data-callback="onSubmit" data-action="submit">Submit</button>Wenn Sie einen Ort für das Logo angeben möchten, verwenden Sie das Attribut
data-badge="LOCATION"für das Element mitclass="g-recaptcha". Standardmäßig ist der Standort aufbottomrightfestgelegt. Weitere mögliche Werte sindinlineundbottomleft.Wenn dieser Button verwendet wird, um ein Formular auf Ihrer Website einzureichen, enthält der POST-Parameter
g-recaptcha-responsedas Antworttoken.
Nachdem das Token generiert wurde, wird das reCAPTCHA-Token an Ihr Backend gesendet und es wird innerhalb von zwei Minuten eine Bewertung erstellt.
Nächste Schritte
Wenn Sie CAPTCHA-Aufgaben basierend auf benutzerdefinierten Regeln auslösen möchten, konfigurieren Sie Challenge-Richtlinien.
Erstellen Sie eine Bewertung, um das reCAPTCHA-Antworttoken zu bewerten.