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 Enterprise 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 Enterprise, 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.
Beim Testen von Formularen mit reCAPTCHA v2 Enterprise 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.
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:
Ihre Anfrage zum Lösen von reCAPTCHA v2 Enterprise muss enthalten:
type - RecaptchaV2EnterpriseTask;
websiteURL - die URL der Seite mit der Captcha;
websiteKey - der auf der Seite angegebene Sitekey;
enterprisePayload - geben Sie diesen Wert an, wenn Ihr reCAPTCHA-Enterprise-Widget ein zusätzliches Feld s in dem Objekt übermittelt, das zusammen mit dem sitekey an grecaptcha.enterprise.render gesendet wird;
pageAction - der Action-Wert, den Ihr Widget an Google sendet. Standard: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTask",
"websiteURL": "https://mydomain.com/page-with-recaptcha-enterprise",
"websiteKey": "6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd",
"pageAction": "verify",
"enterprisePayload": {
"s": "SOME_ADDITIONAL_TOKEN"
}
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA66ZARdA5te7acD9vSwWE2hEQ2-B2aqFxm455iMA-g-Jis..."
}
}
import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2EnterpriseRequest } from '@zennolab_com/capmonstercloud-client';
(async () => {
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
// 2. Seite mit der Captcha öffnen
await page.goto('https://example.com');
// 3. CapMonster-Cloud-Client erstellen
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: '<your_capmonster_cloud_api_key>' })
);
// 4. Anfrage zum Lösen konfigurieren
const recaptchaRequest = new RecaptchaV2EnterpriseRequest({
websiteURL: page.url(),
websiteKey: '6Lf76sUnAAAAAIKLuWNyegRsFUfmI-3Lex3xT5N'
// enterprisePayload: { s: 'SOME_ADDITIONAL_TOKEN' } // Optionaler Enterprise-Parameter
});
// 5. Captcha über CapMonster lösen
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution.gRecaptchaResponse;
console.log('Captcha-Token:', token);
// 6. Token in ein Hidden-Feld einfügen
await page.evaluate((t) => {
const el = document.getElementById('g-recaptcha-response');
if (el) el.value = t;
}, token);
// 7. (Optional) Formular absenden — Selektor anpassen
await page.click('button[data-action="submit"]');
await page.waitForTimeout(5000);
await browser.close();
})();Da reCAPTCHA Enterprise auf Google Cloud läuft, müssen Sie zuerst ein Projekt in der Google Cloud Console erstellen:
1. Gehen Sie zur Google Cloud Console.
2. Wählen Sie im oberen Menü ein bestehendes Projekt oder klicken Sie auf Neues Projekt.
3. Geben Sie einen Projektnamen ein, wählen Sie Ihre Organisation aus und bestätigen Sie die Erstellung.

4. Öffnen Sie die API-Seite: reCAPTCHA Enterprise API und klicken Sie auf Aktivieren.
5. Gehen Sie in der Console zu Schlüssel erstellen und klicken Sie auf Schlüssel erstellen.

6. Konfigurieren Sie die Grundeinstellungen:
Öffnen Sie anschließend Zusätzliche Einstellungen, aktivieren Sie Werden Sie Challenges verwenden? und schalten Sie die Checkbox-Challenge ein.

7. Klicken Sie auf Erstellen. Sie erhalten einen Schlüssel, den Sie auf Ihrer Website einbinden müssen, um den Schutz zu aktivieren.

8. Fügen Sie das Skript auf Ihrer Seite ein.
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
</head>
<body>
<form action="" method="POST">
<div class="g-recaptcha" data-sitekey="YOUR_SITEKEY" data-action="LOGIN"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>9. Validieren Sie die Antwort auf dem Server.
Das Token (g-recaptcha-response) wird an das Backend gesendet.
Es ist 2 Minuten lang gültig, validieren Sie es daher so schnell wie möglich! Für eine sichere Kommunikation mit der API empfehlen wir die offiziellen Google-Cloud-Bibliotheken:
<?php
require 'vendor/autoload.php';
// Installieren Sie die Google-Cloud-Bibliotheken mit Composer
use Google/Cloud/RecaptchaEnterprise/V1/RecaptchaEnterpriseServiceClient;
use Google/Cloud/RecaptchaEnterprise/V1/Event;
use Google/Cloud/RecaptchaEnterprise/V1/Assessment;
use Google/Cloud/RecaptchaEnterprise/V1/CreateAssessmentRequest;
use Google/Cloud/RecaptchaEnterprise/V1/TokenProperties/InvalidReason;
/**
* Validieren Sie das reCAPTCHA-Enterprise-Token und erhalten Sie den Risikoscore.
*
* @param string $recaptchaKey Ihr reCAPTCHA-Schlüssel für Website/App
* @param string $token Vom Client empfangenes Token
* @param string $projectId Google-Cloud-Projekt-ID
* @param string $action Mit dem Token verknüpfter Aktionsname
*/
function create_assessment(string $recaptchaKey, string $token, string $projectId, string $action): void {
$client = new RecaptchaEnterpriseServiceClient();
$projectName = $client->projectName($projectId);
// Erstellen Sie das Assessment-Event
$event = (new Event())->setSiteKey($recaptchaKey)->setToken($token);
$assessment = (new Assessment())->setEvent($event);
$request = (new CreateAssessmentRequest())->setParent($projectName)->setAssessment($assessment);
try {
$response = $client->createAssessment($request);
if (!$response->getTokenProperties()->getValid()) {
echo 'Token ist ungültig: ' . InvalidReason::name($response->getTokenProperties()->getInvalidReason());
return;
}
if ($response->getTokenProperties()->getAction() === $action) {
echo 'Risikowert: ' . $response->getRiskAnalysis()->getScore();
} else {
echo 'Die Aktion im reCAPTCHA-Tag stimmt nicht mit dem erwarteten Wert überein';
}
} catch (Exception $e) {
echo 'Fehler bei der Überprüfung von reCAPTCHA: ' . $e->getMessage();
}
}
// Rufen Sie die Funktion mit den Variablen auf
create_assessment(
'YOUR_SITE_KEY',
'YOUR_USER_RESPONSE_TOKEN',
'YOUR_PROJECT_ID',
'YOUR_RECAPTCHA_ACTION'
);
?>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 Enterprise 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 Enterprise 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.