Text-CAPTCHA (ImageToText)
und CapMonster Cloud

CAPTCHA-Lösung, Website-Integration und Tests.

Preise für Text-CAPTCHA (ImageToText)-Lösung

CAPTCHA
Preis (USD)
$ 0.30
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 Text-CAPTCHA (ImageToText) 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 Text-CAPTCHA (ImageToText), 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 ImageToText CAPTCHA
Was ist ImageToText CAPTCHA
ImageToText CAPTCHA ist ein klassisches Website-Schutzsystem, das auf der Texterkennung aus Bildern basiert. Der Benutzer muss Zeichen (Buchstaben, Zahlen oder deren Kombination) eingeben, die auf einem verzerrten Bild dargestellt sind. Dieser Ansatz ermöglicht es, Menschen von automatisierten Skripten zu unterscheiden. Er wird zum Schutz von Registrierungs- und Login-Formularen, dem Versenden von Nachrichten, Kommentaren sowie zur Verhinderung massenhafter automatisierter Anfragen eingesetzt.

Wie man ImageToText CAPTCHA mit CapMonster Cloud löst

Beim Testen von Formularen mit ImageToText CAPTCHA ist es oft notwendig zu überprüfen, ob die CAPTCHA korrekt funktioniert und richtig integriert ist.
Sie können die auf Ihrer Website eingebundene CAPTCHA manuell testen:
  • Öffnen Sie die Seite mit dem Formular und stellen Sie sicher, dass die CAPTCHA angezeigt wird.
  • Versuchen Sie, das Formular ohne das Lösen der CAPTCHA abzusenden — der Server sollte einen Fehler zurückgeben.
  • Nach erfolgreicher Lösung der CAPTCHA sollte das Formular ohne Fehler gesendet werden.
Für die automatische CAPTCHA-Erkennung können Sie spezialisierte Dienste wie CapMonster Cloud verwenden — ein Tool, das CAPTCHA-Parameter entgegennimmt, sie auf eigenen Servern verarbeitet und eine fertige Lösung zurückgibt. Diese Antwort kann in das entsprechende Feld eingefügt werden, um die Prüfung ohne Benutzerbeteiligung 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
Erkennung von Bild-CAPTCHAs mit fertigen Bibliotheken
Der Dienst CapMonster Cloud stellt fertige Bibliotheken für die komfortable Nutzung in Python, JavaScript (Node.js) und C# bereit.
Python
JavaScript
C#
Lösen, Einfügen der Antwort und Absenden des Formulars
Ein Node.js-Beispiel für den vollständigen CAPTCHA-Erkennungszyklus auf Ihrer Webseite. Mögliche Ansätze sind die Verwendung von HTTP-Anfragen zum Abrufen von HTML und Parametern des Schutzsystems, das Senden der Antwort und die Verarbeitung des Ergebnisses. Oder — wie im folgenden Beispiel — die Nutzung von Automatisierungstools (z. B. Playwright): Seite öffnen, auf die Prüfung warten, Parameter über den CapMonster-Cloud-Client senden, das Ergebnis abrufen, es in das entsprechende Feld einfügen (zu Testzwecken können sowohl korrekte als auch falsche Daten verwendet werden) und das Resultat beobachten.
python

  // npm install playwright @zennolab_com/capmonstercloud-client
  // npx playwright install chromium

import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';

const API_KEY = "YOUR_API_KEY"; // Geben Sie Ihren CapMonster-Cloud-API-Schlüssel an

async function solveImageToTextAndFillField() {
    const cmcClient = CapMonsterCloudClientFactory.Create(
        new ClientOptions({ clientKey: API_KEY })
    );

    // Optional können Sie Ihr Guthaben prüfen
    const balance = await cmcClient.getBalance();
    console.log("Balance:", balance);

    // 1. Playwright starten und die Seite mit dem Formular öffnen
    const browser = await chromium.launch({ headless: false });
    const context = await browser.newContext();
    const page = await context.newPage();
    await page.goto("https://example.com/form"); // 2. CAPTCHA-URL von der Seite abrufen (Beispiel über <img>-Selektor)

    // 2. CAPTCHA-URL von der Seite abrufen (Beispiel über <img>-Selektor)
    const captchaUrl = await page.getAttribute("#captcha-img", "src");

    // 3. Bild herunterladen und in Base64 konvertieren
    const response = await fetch(captchaUrl);
    const imageBuffer = await response.arrayBuffer();
    const imageBase64 = Buffer.from(imageBuffer).toString('base64');

    // 4. Eine Anfrage zum Lösen von ImageToText erstellen
    const imageToTextRequest = new ImageToTextRequest({
        body: imageBase64,
        CapMonsterModule: CapMonsterModules.YandexWave, // oder ein anderes Modul
        Case: true,
        numeric: 0,
        recognizingThreshold: 65,
        math: false
    });

    // 5. Die CAPTCHA-Lösung abrufen
    const result = await cmcClient.Solve(imageToTextRequest);
    console.log("Captcha solution:", result.solution.text);

    // 6. Die Lösung in das Formularfeld einfügen und absenden
    await page.fill("#captcha-input", result.solution.text); // Ersetzen Sie dies durch Ihren Selektor
    await page.click("#submit-button"); // Ersetzen Sie dies durch Ihren Button-Selektor
    await page.waitForLoadState("networkidle");

    console.log("Formular mit gelöster CAPTCHA gesendet");

    // 7. Browser schließen
    await browser.close();
}

solveImageToTextAndFillField().catch(console.error);


  
Wie man eine Text-CAPTCHA auf der eigenen Website integriert
Um sicher mit der Funktionsweise der CAPTCHA auf Ihrer Website umzugehen, die Prüfungslogik zu verstehen, sie neu zu verbinden oder zu konfigurieren, empfehlen wir, diesen Abschnitt zu lesen. Er beschreibt den Integrationsprozess des Schutzes und hilft, alle Nuancen schnell zu verstehen.

Schritt 1. Ansatz wählen

Zunächst müssen Sie entscheiden, wie Sie die CAPTCHA verwenden möchten:

Option 1 — Drittanbieter

Geeignet, wenn eine schnelle Implementierung und minimaler Wartungsaufwand wichtig sind.

Vorteile:

  • Schnelle Integration
  • Fertiger Bot-Schutz
  • Keine eigene Aktualisierung der Algorithmen erforderlich

Nachteile:

  • Abhängigkeit von einem externen Dienst
  • Eingeschränkte Anpassungsmöglichkeiten

Option 2 — Eigene Text-CAPTCHA

Geeignet, wenn volle Kontrolle und eine maßgeschneiderte Integration erforderlich sind.

Vorteile:

  • Volle Kontrolle über Logik und Design
  • Keine externen Abhängigkeiten
  • Anpassbar an spezifische Szenarien

Nachteile:

  • Bot-Schutz muss selbst implementiert werden
  • Erfordert Wartung und Weiterentwicklung im Laufe der Zeit

Schritt 2. CAPTCHA-Generierung implementieren

Für einen Anbieter

  • Registrieren Sie sich beim Dienst
  • Erhalten Sie Schlüssel (Site Key / Secret Key)
  • Binden Sie das Skript auf der Seite mit dem Formular ein

Für eine eigene CAPTCHA

  • Erzeugen Sie eine zufällige Zeichenfolge (Zahlen oder Buchstaben)
  • Rendern Sie diese als Bild (Canvas, SVG oder serverseitige Generierung)
  • Fügen Sie Verzerrungen hinzu: Rauschen, Linien, Zeichenrotation

Schritt 3. CAPTCHA dem Benutzer anzeigen

  • Platzieren Sie das CAPTCHA-Bild neben dem Formular
  • Fügen Sie ein Texteingabefeld hinzu
  • Implementieren Sie eine Schaltfläche zum Aktualisieren der CAPTCHA

Wichtig: Jeder Ladevorgang muss einen neuen Code erzeugen.

Schritt 4. Daten an den Server senden

Beim Absenden des Formulars senden Sie:

  • Den vom Benutzer eingegebenen Text
  • Eine CAPTCHA-ID oder ein Sitzungs-Token

Bei einer eigenen CAPTCHA darf der Code nicht auf dem Client gespeichert werden — nur auf dem Server.

Schritt 5. CAPTCHA auf dem Server prüfen

Anbieter

  • Senden Sie das CAPTCHA-Token an den Server des Anbieters
  • Erhalten Sie das Prüfergebnis (erfolgreich / Fehler)

Eigene CAPTCHA

  • Vergleichen Sie den eingegebenen Text mit dem gespeicherten Wert
  • Berücksichtigen Sie die Gültigkeitsdauer der CAPTCHA (z. B. 1–2 Minuten)

Schritt 6. Entscheidung treffen

  • Wenn die CAPTCHA bestanden ist — führen Sie die Aktion aus (Login, Registrierung, Formular absenden)
  • Wenn nicht — zeigen Sie einen Fehler an und generieren Sie eine neue CAPTCHA

Schritt 7. Schutz verstärken (empfohlen)

Auch für eine Text-CAPTCHA sollten Sie Folgendes hinzufügen:

  • Begrenzung der Anzahl der Versuche
  • Bindung an IP, Sitzung oder Cookies
  • Temporäre (Einmal-)Tokens
  • Protokollierung verdächtiger Aktivitäten
Background
Mögliche Fehler und Debugging
Bug Icon
Bild-CAPTCHA wird nicht geladen
(Leeres Bild, 404/500 oder Generierungsfehler) — meist verursacht durch eine fehlerhafte Generierungslogik. Stellen Sie sicher, dass der Server das Bild korrekt erstellt und an den Client zurückgibt und dass der Endpunkt korrekt angegeben ist.
Bug Icon
Ungültiger oder leerer CAPTCHA-Code
Prüfen Sie, ob die Benutzereingabe tatsächlich an den Server gesendet und mit dem gespeicherten CAPTCHA-Wert verglichen wird.
Bug Icon
Code stimmt trotz korrekter Eingabe nicht überein

Stellen Sie sicher, dass:

  • Die CAPTCHA nicht vor der Prüfung neu generiert wird;
  • Der Code getrennt für jede Sitzung oder jedes Token gespeichert wird;
  • Die CAPTCHA nicht abgelaufen ist.
Bug Icon
Abgelaufene CAPTCHA-Gültigkeitsdauer
Erhöhen Sie die TTL der CAPTCHA auf dem Server oder aktualisieren Sie sie bei erneuten Eingabeversuchen.
Tests der Schutzstabilität
Nach der Integration ist es wichtig sicherzustellen, dass die Text-CAPTCHA das Formular tatsächlich schützt.
Tipps zu Sicherheit und Optimierung
Speichern Sie die korrekte CAPTCHA-Antwort nur auf dem <span class="font-bold">Server</span> (im Speicher, Redis oder einer Datenbank) und senden Sie sie nicht an den Client.
Verwenden Sie Einmal-Tokens oder CAPTCHA-IDs.
Begrenzen Sie die Anzahl der Eingabeversuche pro CAPTCHA.
Verwenden Sie immer HTTPS für die Übertragung von Formulardaten und CAPTCHA-Antworten.
Protokollieren Sie Fehler bei der Generierung und Prüfung der CAPTCHA (Zeit, IP, Ablehnungsgrund) — dies erleichtert Debugging und Angriffsanalyse.
Aktualisieren Sie regelmäßig den Generierungsalgorithmus (Schriftarten, Verzerrungen, Rauschen).
Fazit

Wenn Sie eine Website übernehmen, auf der bereits eine CAPTCHA oder ein anderes Schutzsystem installiert ist und Sie keinen Zugriff auf den Code haben — kein Problem! Es ist relativ einfach festzustellen, welche Technologie verwendet wird. Zur Überprüfung der korrekten Funktionsweise können Sie den Erkennungsdienst von CapMonster Cloud in einer isolierten Testumgebung nutzen, um sicherzustellen, dass die Token-Verarbeitung und die Validierungslogik korrekt funktionieren.

Im Fall einer bildbasierten CAPTCHA reicht es aus, das System zu identifizieren, sein Verhalten zu analysieren und sicherzustellen, dass der Schutz korrekt funktioniert. In diesem Artikel haben wir gezeigt, wie man eine Bild-CAPTCHA (ComplexImage) erkennt und wie man sie verbindet oder neu konfiguriert, um den Schutz zuverlässig zu warten und zu kontrollieren.

Conclusion
Nützliche Links
DocIconCapMonster Cloud Dokumentation (Arbeiten mit Text-CAPTCHA)DocIconLeitfaden: Eigene CAPTCHA erstellenDocIconRegistrierung bei CapMonster Cloud

Häufig gestellte Fragen zu ImageToText CAPTCHA

  • Speichern Sie CAPTCHA-Antworten nur auf dem Server, z. B. im Speicher, in Redis oder in einer Datenbank, und geben Sie sie niemals an den Client weiter.
  • Binden Sie jede CAPTCHA an eine eindeutige Sitzung oder ein Einmal-Token, damit sie nicht über Anfragen hinweg wiederverwendet werden kann.
  • Setzen Sie eine kurze Ablaufzeit, z. B. 1–2 Minuten, damit alte Codes automatisch ungültig werden.
  • Invalidieren Sie die CAPTCHA sofort nach erfolgreicher Verifizierung, um sie einmalig zu machen.
  • Begrenzen Sie die Anzahl der Versuche und generieren Sie nach jedem fehlgeschlagenen Versuch eine neue CAPTCHA, anstatt dasselbe Bild erneut zu verwenden.
  • Binden Sie jede CAPTCHA an eine IP-Adresse, Sitzung oder ein Cookie, um Missbrauch über Anfragen hinweg zu verhindern.
  • Protokollieren Sie Fehler bei der CAPTCHA-Generierung und -Validierung, einschließlich Zeitstempel, IP und Ablehnungsgrund, um Angriffsmuster zu erkennen und Schwellenwerte anzupassen.
  • Verwenden Sie immer HTTPS, um Formulardaten und CAPTCHA-Antworten während der Übertragung zu schützen.
  • Aktualisieren Sie regelmäßig die Einstellungen zur Challenge-Generierung, wie Schriftarten, Verzerrung und Rauschen, um automatisches Lösen zu erschweren.

Wenn das CAPTCHA-Bild leer ist oder nicht geladen wird, prüfen Sie, ob der serverseitige Generierungs-Endpoint das Bild korrekt erstellt, es ordnungsgemäß an den Client zurückgibt und ob die Endpoint-URL korrekt ist.

Wenn Benutzer den richtigen Code eingeben, die Validierung aber fehlschlägt, stellen Sie sicher, dass die CAPTCHA zwischen Seitenaufruf und Formularübermittlung nicht neu generiert wird.

Überprüfen Sie, dass der gespeicherte CAPTCHA-Wert an dieselbe Sitzung oder dasselbe Token gebunden ist, das bei der Validierung verwendet wird.

Prüfen Sie, ob die CAPTCHA vor der Übermittlung abgelaufen ist, da ein abgelaufener Code auch bei korrekter Eingabe zu einer Abweichung führt.

Zusätzlich zu den erforderlichen Feldern type und body können Sie fünf optionale Parameter zur Feinabstimmung der Erkennung verwenden:

  • recognizingThreshold: Setzen Sie einen Wert von 0 bis 100, um den Konfidenzschwellenwert zu steuern; niedrigere Werte akzeptieren mehr Ergebnisse, höhere Werte sind strenger.
  • case: Setzen Sie auf true, wenn die CAPTCHA zwischen Groß- und Kleinschreibung unterscheidet
  • numeric: Setzen Sie auf 1, wenn das Bild nur Ziffern enthält
  • math: Setzen Sie auf true, wenn das Bild einen mathematischen Ausdruck enthält
  • capMonsterModule: Geben Sie ein Erkennungsmodul wie yandex an, um die Genauigkeit für unterstützte Anbieter zu verbessern. Eine vollständige Liste der Module finden Sie in der Dokumentation.

Eine wichtige Ausnahme: Bei Verwendung des Moduls captcha_math über den Parameter capMonsterModule dürfen Sie math: true nicht in derselben Anfrage setzen. Für alle anderen Module, bei denen das CAPTCHA-Bild einen mathematischen Ausdruck enthält, weist math: true den Solver an, das numerische Ergebnis zu berechnen und zurückzugeben, anstatt die rohe Zeichenkette. Mehr erfahren