reCAPTCHA v2
und CapMonster Cloud

Captcha-Lösung, Einbindung auf der Website und End-to-End-Tests.

Preise für reCAPTCHA V2-Lösung

CAPTCHA
Preis (USD)
$ 0.60
1000 Token
Sie haben eine Website mit eingebauter Captcha- oder Bot-Schutzlösung übernommen, aber keinen Zugriff auf den Quellcode? Dann stellt sich schnell die Frage: Welche Lösung ist installiert, ist sie korrekt konfiguriert und wie lässt sie sich testen?

In diesem Artikel haben wir versucht, alle wichtigen Fragen zu beantworten. Der erste Schritt bei der Lösung der Aufgabe besteht darin festzustellen, welches Schutzsystem eingesetzt wird. Dazu können Sie die Liste beliebter Captchas und Anti-Bot-Schutzsysteme heranziehen, in der visuelle Beispiele und zentrale Merkmale aufgeführt sind, die Ihnen helfen, schnell zu erkennen, womit Sie es zu tun haben.

Wenn Sie feststellen, dass auf Ihrer Website reCAPTCHA V2 eingesetzt wird, besteht der nächste Schritt darin, seine Eigenschaften und Funktionsweise genauer zu untersuchen. Ebenfalls in diesem Artikel finden Sie eine Anleitung zur Integration von reCAPTCHA V2, damit Sie vollständig verstehen, wie das System auf Ihrer Website arbeitet. So können Sie nicht nur den aktuellen Schutz besser einschätzen, sondern auch seine Wartung vorausschauend planen.

Was ist Google reCAPTCHA v2
Was ist Google reCAPTCHA v2
reCAPTCHA v2 ist ein Schutzsystem von Google, das Spam und andere automatisierte Aktionen blockieren soll, die einer Website schaden können. Es hilft, echte Besucher von Bots zu unterscheiden und hält Ihre Webressource sicher und stabil.
Background
Beispiele von reCAPTCHA V2
reCAPTCHA v2
reCAPTCHA v2
Die klassische Checkbox-Captcha, bei der der Nutzer bestätigen muss, dass er ein Mensch ist. Manchmal erscheint zusätzlich ein Pop-up mit Aufgaben, zum Beispiel bestimmte Bilder auszuwählen.
reCAPTCHA v2 Invisible
reCAPTCHA v2 Invisible
Eine unsichtbare Captcha, die automatisch prüft, ohne dass der Nutzer eingreifen oder auf die Checkbox klicken muss.
reCAPTCHA v2 Enterprise
reCAPTCHA v2 Enterprise
Enterprise-Version mit zusätzlichen Kontroll- und Sicherheitsfunktionen.

So lösen Sie reCAPTCHA v2 mit CapMonster Cloud

Beim Testen von Formularen mit reCAPTCHA V2 müssen Sie häufig prüfen, ob die Captcha korrekt eingebunden ist und funktioniert.

Sie können die auf Ihrer Seite eingebettete Captcha manuell testen.

  • Öffnen Sie die Formularseite und stellen Sie sicher, dass die Captcha angezeigt wird.
  • Versuchen Sie, das Formular ohne Lösung abzuschicken – der Server sollte einen Fehler melden.
  • Nach einer erfolgreichen Lösung muss das Formular ohne Probleme übermittelt werden.

Für automatisches Lösen können Sie Tools wie CapMonster Cloud einsetzen. Der Dienst nimmt die Captcha-Parameter entgegen, verarbeitet sie auf seinen Servern und liefert einen einsatzbereiten Token zurück. Diesen Token setzen Sie ins Formular ein, um die Prüfung ohne Benutzerinteraktion zu bestehen.

Die Arbeit mit CapMonster Cloud über die API umfasst in der Regel folgende Schritte:

Aufgabe erstellenAufgabe erstellen
arrow
API-Anfrage sendenAPI-Anfrage senden
arrow
Ergebnis empfangenErgebnis empfangen
arrow
Token auf der Seite einsetzenToken auf der Seite einsetzen
arrow
reCAPTCHA v2 mit fertigen Bibliotheken lösen
CapMonster Cloud stellt SDKs für die komfortable Arbeit mit Python, JavaScript (Node.js) und C# bereit.
Python
JavaScript
C#
Lösen, Token einsetzen und Formular absenden
Ein Node.js-Beispiel, das den gesamten Captcha-Lifecycle auf Ihrer Seite abdeckt. Mögliche Ansätze: HTTP-Anfragen verwenden, um HTML und Captcha-Parameter zu holen, die Antwort senden und das Ergebnis verarbeiten; oder Automatisierungstools (z. B. Playwright) nutzen, um die Seite zu öffnen, auf die Captcha zu warten, Parameter zu senden (mit gültigen oder ungültigen Daten testen), das Ergebnis per CapMonster-Client zu erhalten, den Token ins Formular einzusetzen und das Resultat zu beobachten.
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium


const { chromium } = require('playwright');
const { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2Request } = require('@zennolab_com/capmonstercloud-client');

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();

  const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high';
  const WEBSITE_KEY = '6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd';
  const CMC_API_KEY = 'your_capmonster_cloud_api_key';

  const cmc = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: CMC_API_KEY }));

  await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });

  // Captcha lösen
  const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
  const token = solution.solution.gRecaptchaResponse;

  // Token einsetzen und Formular senden (ersetzen Sie den benötigten Selektor)
  await page.evaluate((t) => {
    const ta = document.querySelector('textarea#g-recaptcha-response');
    if (ta) ta.value = t;
    document.querySelector('form.formular')?.submit();
  }, token);

  console.log('Captcha gelöst und Formular gesendet!');
})();
So binden Sie reCAPTCHA v2 in Ihre Website ein
Um zu verstehen, wie die Captcha auf Ihrer Seite arbeitet, welche Validierungslogik sie hat und wie Sie sie erneut einrichten, lesen Sie diesen Abschnitt. Er beschreibt den gesamten Schutzaufbau, damit Sie jedes Detail schnell abdecken.

1. Rufen Sie die Seite der reCAPTCHA-Admin-Konsole auf.

2. Registrieren Sie eine neue Website.

Wählen Sie den Captcha-Typ – reCAPTCHA v2 (Checkbox mit Aufgaben oder die unsichtbare Variante).

HowTo Connect image 1

3. Holen Sie zwei Schlüssel:

  • Site key – öffentlicher Schlüssel (Frontend);
  • Secret key – privater Schlüssel (Server-Verifizierung).

HowTo Connect image 2

Öffnen Sie die Einstellungen, um Domains zu definieren, die reCAPTCHA verwenden dürfen, oder den Sicherheitsgrad festzulegen – vom einfachsten bis zum zuverlässigsten.

4. Beispielcode für den Client. HTML-Formular mit reCAPTCHA v2 (Sie können diesen Ausschnitt in den Body einsetzen):

HTML-Formular mit reCAPTCHA v2HTML-Formular mit reCAPTCHA v2
arrow

5. Validieren Sie die Antwort serverseitig.

PHP-BeispielPHP-Beispiel
arrow
Background
Mögliche Fehler und Debugging
Bug Icon
Ungültige Seite oder Schlüssel
Die Captcha lädt nicht oder liefert invalid-input-secret.
Bug Icon
Zeitüberschreitung beim Lösen
Der Server hat die Antwort nicht rechtzeitig erhalten. Erhöhen Sie das Timeout.
Bug Icon
Leerer Token
Beim Übergeben des Ergebnisses an die Seite ist ein Fehler aufgetreten.
Bug Icon
Antwort success=false
Der Token ist abgelaufen, wurde erneut verwendet oder manipuliert. Aktivieren Sie das Request-Logging und prüfen Sie das Feld error-codes in der Google-Antwort.
Tests der Schutzstabilität
Stellen Sie nach der Integration sicher, dass das System die Website wirklich vor automatisierten Aktionen schützt.
Tipps zu Sicherheit und Optimierung
Speichern Sie den <span class="font-bold">Secret Key</span> nur auf dem Server und geben Sie ihn nicht an die Client-Seite weiter.
Protokollieren Sie die Fehlercodes <span class="font-bold">(error-codes)</span>, um zu verstehen, warum bestimmte Prüfungen fehlgeschlagen sind.
Fügen Sie am unteren Rand des Formulars Links zur <span class="font-bold">Datenschutzerklärung</span> und zu den <span class="font-bold">Nutzungsbedingungen von Google</span> hinzu, wie es die Lizenz verlangt.
Fazit

Wenn Sie eine Website übernommen haben, auf der bereits ein Captcha oder ein anderes Schutzsystem installiert ist und Sie keinen Zugriff auf den Code haben, ist das kein Problem! Es ist ziemlich einfach festzustellen, welche Technologie genau verwendet wird. Und um die korrekte Funktionsweise zu überprüfen, können Sie den Erkennungsdienst CapMonster Cloud in einer isolierten Testumgebung nutzen, um sicherzustellen, dass der Mechanismus zur Tokenverarbeitung und die Prüflogik ordnungsgemäß funktionieren.

Im Fall von reCAPTCHA V2 reicht es aus, das System zu erkennen, sein Verhalten zu analysieren und sich zu vergewissern, dass der Schutz korrekt arbeitet. In diesem Artikel haben wir gezeigt, wie Sie reCAPTCHA V2 identifizieren und wo Sie Anleitungen für die Einbindung oder Neukonfiguration finden, damit Sie den Schutz zuverlässig betreiben und seine Arbeit unter Kontrolle halten können.

Conclusion

Häufig gestellte Fragen zu reCAPTCHA v2

Um eine Lösungsanfrage zu senden, senden Sie eine JSON-Nutzlast per POST an https://api.capmonster.cloud/createTask:

{
  "clientKey": "API_KEY",
  "task": {
    "type": "RecaptchaV2Task",
    "websiteURL": "[target_page_URL_with_reCAPTCHA]",
    "websiteKey": "[reCAPTCHA_website_key]"
  }
}
  • clientKey — der API-Schlüssel aus Ihrem CapMonster Cloud-Konto
  • task.type: auf RecaptchaV2Task setzen
  • task.websiteURL: URL der Seite, auf der das Captcha erscheint
  • task.websiteKey: der öffentliche Sitekey im HTML der Seite

Für die nächsten Schritte lesen Sie die reCAPTCHA-Lösungsdokumentation.

Senden Sie die Aufgabe mit einer Anfrage an https://api.capmonster.cloud/createTask mit den in der vorherigen Frage beschriebenen Parametern.

Fragen Sie https://api.capmonster.cloud/getTaskResult mit Ihrem clientKey und taskId ab (wird in der createTask-Antwort zurückgegeben).

Sobald das Feld status ready lautet, enthält die Antwort eine gRecaptchaResponse-Zeichenkette — das ist Ihr gelöster Token.

Übermitteln Sie den Token an die Zielwebsite mit einer der folgenden Methoden, je nach reCAPTCHA-v2-Typ und Architektur:

  • Standard-DOM-Injection: Bei typischen Checkbox-Integrationen injizieren Sie den Token in das versteckte Textfeld (z. B. document.getElementById("g-recaptcha-response").innerHTML = token;) mit Playwrights page.evaluate() (oder dem Puppeteer/Selenium-Analogon). Rufen Sie dann programmatisch form.submit() auf oder klicken Sie den Submit-Button.
  • JavaScript-Callback (unsichtbares reCAPTCHA): Wenn die Seite ein unsichtbares Captcha mit Callback verwendet, ermitteln Sie den Funktionsnamen im data-callback-Attribut und führen Sie ihn im Automatisierungsskript aus, wobei Sie den Token als Argument übergeben (z. B. onVerifyCallback("TOKEN_STRING")).
  • Direkte HTTP-Anfrage: Um das Browser-Rendering zu umgehen, fangen Sie die native Submit-Anfrage der Website ab und senden Sie den Token direkt an den Backend-Endpunkt als Formulardaten (z. B. g-recaptcha-response=TOKEN_STRING) mit Ihrem HTTP-Client.

Der Zielserver extrahiert den Token aus Ihrer Übermittlung und validiert ihn über Googles siteverify-Endpunkt.

CapMonster Cloud verarbeitet beide Modi mit demselben API-Aufruf. Für den unsichtbaren Modus fügen Sie den Parameter isInvisible: true zur createTask-Anfrage hinzu. Um die reCAPTCHA-Lösung korrekt zu bestätigen, ermitteln Sie, wie die Website den Token übermittelt. Diese Methoden sind in der vorherigen Frage beschrieben.

Die häufigste Ursache ist ein bereits verwendeter oder abgelaufener Token — reCAPTCHA-v2-Tokens sind einmalig und kurzlebig, daher führt jede Verzögerung oder doppelte Übermittlung dazu. Protokollieren Sie zunächst die rohe HTTP-Antwort von https://www.google.com/recaptcha/api/siteverify — das error-codes-Array in dieser Antwort ist Ihr wichtigstes Diagnosesignal.

Zwei weitere häufige Ursachen: invalid-input-secret bedeutet, dass der falsche Secret Key im Backend übergeben wurde, während ein leeres g-recaptcha-response-Feld auf dem Server meist bedeutet, dass die Frontend-Token-Injektion vor dem Absenden der Form fehlgeschlagen ist.

Prüfen Sie außerdem, ob die an CapMonster Cloud übergebene websiteURL exakt dem Origin entspricht, an dem Google den Token validiert — eine Abweichung führt zu einem Domain-Binding-Fehler.

Für nicht-technische Nutzer: Verwenden Sie die CapMonster Cloud Browser-Erweiterung (Chrome/Firefox). Damit können Sie das Captcha-Verhalten direkt auf der Seite testen und den Lösungsprozess in Echtzeit beobachten. Installieren Sie die Erweiterung, fügen Sie Ihren API-Schlüssel hinzu und öffnen Sie Ihre reCAPTCHA-geschützte Seite.

Für QA und DevOps: Führen Sie einen einfachen Drei-Schritte-Test durch:

  1. Senden Sie das Formular ohne gelöstes Captcha — es sollte success: false zurückgeben.
  2. Senden Sie das Formular mit gelöstem Captcha — die Anfrage sollte erfolgreich sein.
  3. Führen Sie einen Lasttest durch (k6 oder JMeter, 100+ RPS) und prüfen Sie, dass abgelaufene oder wiederverwendete Tokens korrekt abgelehnt werden (z. B. HTTP 403).

Wichtig: siteverify gibt immer HTTP 200 zurück — Fehler werden über das Feld success bestimmt, nicht über den HTTP-Statuscode.