Eine reCAPTCHA-Lösungs-API ist nicht dasselbe wie siteverify

Von solvethree3 Min. Lesezeit

Nein – Googles siteverify-Endpunkt kann kein reCAPTCHA-Antworttoken ausstellen. Er validiert ein von einem Client übermitteltes Token. Auch Enterprise-Bewertungen prüfen ein vorhandenes Token; keiner der beiden Endpunkte generiert eines aus einem Websiteschlüssel.

Auf dieser Seite

Die passende API für Ihre Aufgabe auswählen

Tokengenerierung und Verifizierung sind unterschiedliche Vorgänge.
Tokengenerierung und Verifizierung sind unterschiedliche Vorgänge.
APIWas Sie übermittelnWas Sie erhalten
Google siteverifyEin vorhandenes AntworttokenEin Verifizierungsergebnis
Google Enterprise-BewertungenEin vorhandenes AntworttokenEine Bewertung dieses Tokens
solvethree-AufgabenHostnamen einer unterstützten Website, Aktion und Proxy-KonfigurationEine Aufgabe, deren fertiges Ergebnis ein Lösungstoken enthält

Im reCAPTCHA-v3-Ablauf von Google erzeugt das Client-SDK ein Antworttoken, das das Backend des Websitebetreibers mit siteverify validiert. Im Enterprise-Ablauf erzeugt das Client-SDK das Token und das Backend erstellt eine Bewertung.

Wenn Sie eine Verifizierung zu einer eigenen Website hinzufügen, verwenden Sie den passenden Google-Ablauf. Wenn Sie einen Lösungsdienst für ein unterstütztes Ziel benötigen, verwenden Sie die Task-API von solvethree. Der Lösungsdienst liefert ein Token, das die Zielseite bewertet; er ersetzt nicht die Verifizierung der Zielseite.

So sieht eine echte Lösungsanfrage aus

Stellen Sie zunächst sicher, dass für die Zielseite ein aktives Profil in Ihrem Workspace verfügbar ist. Durch das Senden eines Hostnamens und einer Aktion wird keines erstellt. Nutzen Sie die Anleitung zur Einrichtung eines Websiteprofils, falls diese Voraussetzung noch nicht erfüllt ist.

Erstellen Sie die Aufgabe mit POST /v1/tasks über die solvethree-API. Verwenden Sie dabei Authorization: Bearer, gefolgt von Ihrem Workspace-API-Schlüssel. Bewahren Sie diesen Schlüssel auf Ihrem Server auf.

reCAPTCHA Enterprise · Anfragestruktur
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}

Ersetzen Sie den Beispielhostnamen, die Aktion und den Proxy durch die Werte für Ihre Zielanfrage. site ist ein Hostname, keine vollständige URL. reCAPTCHA-Anfragen erfordern genau eines der Felder proxy oder proxyCandidates; fügen Sie weder type noch url hinzu. Dieses Beispiel verwendet den Standardwert für recaptchaType, enterprise-v3; das Gateway akzeptiert auch v3.

Rufen Sie die Aufgabe mit GET /v1/tasks/:id ab. Fragen Sie weiter ab, solange ihr Status pending oder solving ist. Nur ready enthält eine nutzbare Lösung. Wechselt der Status zu failed, beenden Sie die Abfrage und prüfen Sie errorCode und error.

Verbrauchen Sie kein Enterprise-Token für eine Testbewertung

Laut Google laufen Enterprise-Antworttokens für Websites nach zwei Minuten ab und können nur einmal bewertet werden. Fordern Sie die Lösung kurz vor der geschützten Anfrage an. Eine Bewertung nur zur Prüfung, ob das Token funktioniert, kann es verbrauchen, bevor die vorgesehene Zielseite es verwendet.

Übermitteln Sie solution.token an die vorgesehene Zielseite – nicht die Aufgaben-ID. Verwenden Sie die zurückgegebene Browseridentität aus userAgent und secChUa zusammen mit dem Proxy, der beim Lösen erfolgreich war. Ein Proxywechsel oder die Kombination nicht zusammengehöriger Browser-Header kann dazu führen, dass die nachfolgende Anfrage fehlschlägt.

Eine Aufgabe mit dem Status ready bedeutet, dass eine Lösung verfügbar ist, nicht dass die Zielseite Ihre Anwendungsanfrage akzeptiert hat. Beurteilen Sie die Annahme anhand der Antwort der Zielseite, nicht anhand der Aufgabenerstellung oder des Status ready.

Führe deinen ersten Task aus.

Starte mit $5 Workspace-Guthaben.

Workspace erstellen
Eine reCAPTCHA-Lösungs-API ist nicht dasselbe wie siteverify · solvethree