MTCaptcha
und CapMonster Cloud

Captcha-Lösung, Installation auf der Website und Tests.

Preise für MTCaptcha-Lösung

CAPTCHA
Preis (USD)
$ 1.50
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 MTCaptcha 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 MTCaptcha, 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 MTCaptcha
Was ist MTCaptcha
MTCaptcha ist ein Schutzsystem gegen automatisierte Aktionen auf Websites, das intelligente Analyse und Captcha verwendet. Zuerst analysiert der Dienst den Traffic im Hintergrund. Wenn das Verhalten eines Besuchers verdächtig erscheint, zeigt das System automatisch ein Text-Captcha zur zusätzlichen Überprüfung an.

Wie man MTCaptcha mit CapMonster Cloud löst

Beim Testen von Formularen mit MTCaptcha 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
Erkennung von MTCaptcha mit fertigen Bibliotheken
CapMonster Cloud bietet fertige Bibliotheken für eine komfortable Arbeit in Python, JavaScript (Node.js) und C#.
Python
JavaScript
C#
Lösen, Token einfügen und Formular absenden
Ein Node.js-Beispiel für den vollständigen Zyklus der Captcha-Erkennung auf Ihrer Webseite. Mögliche Ansätze: HTTP-Anfragen verwenden, um HTML und Captcha-Parameter zu erhalten, die Antwort zu senden und das Ergebnis zu verarbeiten; oder Automatisierungstools wie Playwright nutzen — die Seite öffnen, auf das Captcha warten, Parameter senden (für Tests können Sie korrekte oder falsche Werte senden), das Ergebnis über den CapMonster-Client abholen, das Token in das Formular einfügen und das Resultat sehen.

  // npm install playwright @zennolab_com/capmonstercloud-client
import { chromium } from 'playwright';
import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = 'YOUR_API_KEY';
const TARGET_URL = 'https://example.com';

async function main() {
  const browser = await chromium.launch({ headless: false });
  const context = await browser.newContext();
  const page = await context.newPage();

 
  let websiteKey = null;
  page.on('request', request => {
    const url = request.url();
    if (url.startsWith('https://service.mtcaptcha.com/mtcv1/api/getchallenge.json')) {
      const params = new URL(url).searchParams;
      const sk = params.get('sk');
      if (sk) {
        websiteKey = sk;
        console.log('Extracted websiteKey (sk):', websiteKey);
      }
    }
  });

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

  if (!websiteKey) {
    console.error('Failed to extract websiteKey (sk) from the page');
    await browser.close();
    return;
  }

  
  const client = CapMonsterCloudClientFactory.Create(
    new ClientOptions({ clientKey: API_KEY })
  );

  
  const mtcaptchaRequest = new MTCaptchaRequest({
    websiteURL: TARGET_URL,
    websiteKey: websiteKey,
    isInvisible: false,
    pageAction: 'login'
  });

  // Captcha-Lösung
  const result = await client.Solve(mtcaptchaRequest);

  
  const verifiedToken = typeof result?.solution?.value === 'string'
    ? result.solution.value
    : JSON.stringify(result.solution.token);

  console.log('VerifiedToken:', verifiedToken);

  
  // Token einfügen und Formular absenden (durch den benötigten Selektor ersetzen)
  await page.evaluate((token) => {
    const input = document.querySelector('#mtcaptcha-verifiedtoken-1');
    if (input) input.value = token;
  }, verifiedToken);

  console.log('Token inserted into input');

  
  // await page.click('button[type="submit"]');

  await page.waitForTimeout(5000);

  await browser.close();
}

main().catch(err => {
  console.error('An error occurred:', err);
});
Wie man MTCaptcha auf seiner Website integriert
Um sich sicher in der Funktionsweise des Captchas auf Ihrer Website zurechtzufinden, dessen Logik zu verstehen oder es erneut zu konfigurieren, empfehlen wir, diesen Abschnitt zu studieren. Hier wird der Integrationsprozess beschrieben — das hilft, sich schnell in allen Details zurechtzufinden.

1. Registrieren Sie sich oder melden Sie sich in Ihrem MTCaptcha-Konto an.

2. Nach der Registrierung fügen Sie Ihre Website hinzu. Sie erhalten zwei Schlüssel.

  • Site Key — öffentlicher Schlüssel für das Frontend, um das Widget anzuzeigen.
  • Private Key — privater Schlüssel für den Server, zur Überprüfung der Captcha-Lösung. Speichern Sie ihn nur auf dem Server und geben Sie ihn nicht an den Client weiter.

Beispiel:

HowTo Connect image 1

3. Richten Sie den Client-Teil von MTCaptcha ein:

Fügen Sie den Code in den <head> der Seite ein.

Ersetzen Sie <YOUR SITE KEY> durch Ihren Site Key, den Sie im MTCaptcha-Dashboard erhalten haben.


  <head>
  <script>
    var mtcaptchaConfig = {
      sitekey: "<YOUR SITE KEY>"
    };
  
    (function() {
      var mt_service = document.createElement('script');
      mt_service.async = true;
      mt_service.src = 'https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js';
      (document.head || document.body).appendChild(mt_service);
  
      var mt_service2 = document.createElement('script');
      mt_service2.async = true;
      mt_service2.src = 'https://service2.mtcaptcha.com/mtcv1/client/mtcaptcha2.min.js';
      (document.head || document.body).appendChild(mt_service2);
    })();
  </script>
</head>


Fügen Sie den Captcha-Container in den <body> ein

An der Stelle, an der Sie das Captcha anzeigen möchten (z. B. in einem Formular):

<div class="mtcaptcha"></div>

Das Widget lädt automatisch.

HelpIcon

Sie können die fertigen SDKs und Plugins für die schnelle Integration verwenden:

  • Server-Side SDKs: Java, Node.js, PHP
  • Client-Side SDKs: React, React Native, Vue
  • CMS-Plugins: WordPress, Drupal

MTCaptcha bietet außerdem eine praktische Demo-Seite an, auf der Sie die Schutzfunktion testen und konfigurieren können, bevor Sie sie auf Ihrer Website einsetzen.

4. Arbeit mit dem Server-Teil. Erhalten Sie das Verified-Token im Client.

Über ein verstecktes Formularfeld:

<input type="hidden" name="mtcaptcha-verifiedtoken" />

Oder über JS:

mtcaptcha.getVerifiedToken() / mtcaptchaVerifiedCallback(status)

Senden Sie das Token zusammen mit dem Formular oder der Anfrage an den Server.

Prüfen Sie das Token per API (Server-Validierung):

GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=<PRIVATE_KEY>&token=<TOKEN>
  • privatekey — Ihr privater Schlüssel (nur auf dem Server)
  • token — Token vom Client

Alternative URL für Server mit Firewall:

https://service2.mtcaptcha.com/mtcv1/api/checktoken

Antwort verarbeiten:

success: true → Captcha bestanden, Verarbeitung fortsetzen.

BeispielBeispiel
arrow

success: false → Fehler (Token abgelaufen, wiederverwendet usw.)

HelpIcon
Jedes VerifiedToken ist einige Minuten gültig und kann nur einmal über die CheckToken-API geprüft werden, was eine Wiederverwendung verhindert. Nach dem Erhalt muss der Server die Prüfung rechtzeitig durchführen — das MTCaptcha-Widget garantiert mindestens 50 Sekunden Validierungszeit.

Ein einfaches Beispiel mit dem MTCaptcha-Modul in Node.jsEin einfaches Beispiel mit dem MTCaptcha-Modul in Node.js
arrow

HelpIcon

Für eine detaillierte Untersuchung der Möglichkeiten von MTCaptcha — Widget-Anpassung, Client- und Server-Konfiguration, Framework-Integration und weitere Aspekte — empfehlen wir die offizielle Dokumentation.

Background
Mögliche Fehler und Debugging
Bug Icon
Ungültige Website oder Schlüssel
Das Captcha lädt nicht oder der Server gibt invalid-privatekey oder privatekey-mismatch-token zurück. Stellen Sie sicher, dass Sie das korrekte Paar aus sitekey und privatekey verwenden.
Bug Icon
Token fehlt oder ist ungültig
"error2Description": "Fehler missing-input-token, invalid-token, bad-request. Überprüfen Sie, ob der Tokenwert an den Server übermittelt wird und nicht verändert wurde.
Bug Icon
Abgelaufenes Token (token-expired)
Ein Token ist nur für begrenzte Zeit gültig (normalerweise ~120 Sekunden) und muss danach erneut abgerufen werden.
Bug Icon
Wiederholte Token-Prüfung (token-duplicate-cal)
Ein Token kann nur einmal geprüft werden — dies schützt vor Replay-Angriffen.
Bug Icon
Abgelaufener oder deaktivierter Schlüssel (expired-sitekey-or-account)
Stellen Sie sicher, dass Schlüssel gültig und das Konto aktiv ist.
Bug Icon
Aktivieren Sie zum Debuggen das Request-Logging und geben Sie die fail_codes aus, um die Fehlerursache zu verstehen.
Tests der Schutzstabilität
Tipps zu Sicherheit und Optimierung
Bewahren Sie den <span class="font-bold">privatekey nur auf dem Server</span> auf – geben Sie ihn nicht an den Client weiter.
Protokollieren Sie <span class="font-bold">fail_codes</span>, um Fehlerursachen zu verfolgen und Umgehungsversuche zu analysieren.
Fügen Sie im Formular Links zur <span class="font-bold">Datenschutzrichtlinie</span> und zu den <span class="font-bold">Nutzungsbedingungen</span> hinzu, wenn dies von Ihrer Plattform gefordert wird.
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 MTCaptcha 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 MTCaptcha 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
Nützliche Links
DocIconMTCaptcha-DokumentationDocIconCapMonster-Cloud-Dokumentation (Arbeiten mit MTCaptcha)DocIconSDKs und Plugins für die schnelle MTCaptcha-IntegrationDocIconDemo-Seite (Code Builder) von MTCaptcha

Häufig gestellte Fragen zu MTCaptcha

Wenn der sitekey (sk) nicht im HTML oder JavaScript der Seite sichtbar ist, untersuchen Sie Netzwerk-Anfragen, um ihn zu finden:

  1. Öffnen Sie DevTools → Network.
  2. Lösen Sie die CAPTCHA aus und filtern Sie Anfragen nach getchallenge.json.
  3. Kopieren Sie den Abfrageparameter sk aus der URL.

Für Automatisierung (z. B. Playwright): Fangen Sie dieselbe Anfrage programmatisch ab, parsen Sie sk aus der URL-Zeichenkette und ordnen Sie ihn direkt dem Feld websiteKey in Ihrer CapMonster Cloud MTCaptchaTask-Payload zu.

Der pageAction in MTCaptchaTask muss exakt mit dem act-Wert übereinstimmen, der in der getchallenge.json-Netzwerkanfrage der Website gefunden wird (neben dem Parameter sk). Diese Übereinstimmung ist groß-/kleinschreibungssensitiv und umfasst Sonderzeichen. Wenn die Website den Standardwert %24 verwendet, lassen Sie pageAction in Ihrer Anfrage vollständig weg. Mehr erfahren

Dies geschieht, wenn der verifiedToken abläuft, bevor Ihr Backend ihn validiert. MTCaptcha-Tokens sind standardmäßig nur 60–120 Sekunden gültig. Die zuverlässige Lösung besteht darin, die Aufgabe in CapMonster Cloud unmittelbar vor dem Absenden des Formulars zu starten, nicht zu Beginn der Sitzung.

Setzen Sie isInvisible: true nur, wenn das MTCaptcha-Widget im unsichtbaren Modus läuft. Anzeichen für einen solchen Modus:

  • Beim Laden der Seite wird kein Kontrollkästchen oder sichtbares Captcha-Element angezeigt.
  • Eine zusätzliche Herausforderung erscheint nur bei verdächtigem oder bot-ähnlichem Verhalten.

Wenn die Seite ein standardmäßiges sichtbares MTCaptcha-Widget anzeigt, können Sie das isInvisible-Flag in Ihrer Anfrage weglassen.

Die Angabe eines falschen booleschen Werts führt aufgrund nicht übereinstimmender Solver-Logik zu einem ungültigen Token.

Dies können Sie tun, indem Sie manuell ein gelöstes Token aus der CapMonster Cloud API einfügen:

  1. Fordern Sie eine Lösung über die CapMonster Cloud API mit Postman, einem Skript oder einem anderen HTTP-Client an, indem Sie Ihre sk- und act-Parameter übergeben.
  2. Kopieren Sie das in der API-Antwort zurückgegebene solution.token.
  3. Öffnen Sie DevTools auf der Zielseite und finden Sie das versteckte Feld <input name="mtcaptcha-verifiedtoken">.
  4. Fügen Sie das Token in das value-Attribut des Felds ein und senden Sie das Formular ab, um die Validierung zu bestätigen.

Alternativ können Sie den Netzwerkverkehr der Seite untersuchen, um den genauen Endpunkt für die serverseitige Überprüfung zu ermitteln, und dann eine direkte HTTP-Anfrage mit dem gelösten Token senden.