Migration von Cloudflare Turnstile
Diese Anleitung hilft Ihnen bei der Migration von Cloudflare Turnstile zu MTCaptcha, indem Sie das Client-Widget austauschen und den Turnstile-siteverify-Flow durch MTCaptcha CheckToken ersetzen.
Warum Teams von Cloudflare Turnstile migrieren
- Standardisieren Sie CAPTCHA-Operationen auf einen Anbieter über mehrere Produkte oder Geschäftseinheiten hinweg.
- Nutzen Sie MTCaptchas datenschutzorientierte Datenverarbeitung und ein auf CAPTCHA ausgerichtetes Feature-Set.
- Halten Sie einen zugänglichen Challenge-Flow und optionale Validierungsmodi mit geringer Reibung bereit.
- Bewahren Sie eine vorhersehbare globale Auslieferung, einschließlich Festlandchina.
Migrationsüberblick
| Cloudflare Turnstile | MTCaptcha | |
|---|---|---|
| Client-Script | https://challenges.cloudflare.com/turnstile/v0/api.js | https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js |
| Widget-Klasse | .cf-turnstile (Container <div class="cf-turnstile" data-sitekey="…"></div>) | .mtcaptcha (verwenden Sie <div class="mtcaptcha"></div>) |
| Token-Name | cf-turnstile-response (Hidden-Input / Formularfeld) | mtcaptcha-verifiedtoken (Name des Hidden-Inputs) |
| Backend-API | POST https://challenges.cloudflare.com/turnstile/v0/siteverify (secret + response) | GET https://service.mtcaptcha.com/mtcv1/api/checktoken (privatekey + token) |
Halten Sie den MTCaptcha-PrivateKey ausschließlich auf dem Server. Browser-Code sollte nur den öffentlichen SiteKey in mtcaptchaConfig sehen.
Schritt 1: Clientseitiges Script und Widget ersetzen
<!-- Remove [Cloudflare Turnstile] -->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY"></div>
<!-- Add [MTCaptcha] -->
<script>
var mtcaptchaConfig = { "sitekey": "YOUR_SITEKEY" };
</script>
<script src="https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js" async defer></script>
<div class="mtcaptcha"></div>
Setzen Sie mtcaptchaConfig (mit "sitekey") vor dem Laden von mtcaptcha.min.js.
Wenn Sie Turnstile-Optionen wie appearance, callback oder refresh-expired genutzt haben, übertragen Sie dieses Verhalten auf MTCaptcha über JavaScript-APIs und JavaScript-Rückrufe.
Schritt 2: Serverseitige Verifizierung aktualisieren
Ersetzen Sie Turnstile-Verifizierungsaufrufe durch MTCaptchas CheckToken:
GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=YOUR_PRIVATEKEY&token=VERIFIED_TOKEN
Verwenden Sie den übermittelten Wert mtcaptcha-verifiedtoken als token.
Behandeln Sie jeden Token als kurzlebig. Validieren Sie zeitnah und vermeiden Sie Mehrfachverwendung desselben Tokens, außer Sie konfigurieren dies bewusst. Siehe Token validieren (mit privatem Schlüssel).
Verwenden Sie https://service2.mtcaptcha.com/mtcv1/api/checktoken, wenn feste ausgehende IP-Allowlists erforderlich sind (Validate Token).
Fehlerbehebung
| Symptom | Was prüfen |
|---|---|
| Leeres Widget / Script 403 | Domain für Ihren SiteKey im Admin Portal nicht erlaubt. |
| CSP-Fehler | https://service.mtcaptcha.com erlauben (und service2, wenn verwendet). |
Es wird noch cf-turnstile-response gelesen | Formularverarbeitung überall auf mtcaptcha-verifiedtoken umstellen (inkl. Tests). |
token-expired | Nutzer hat zu spät gesendet; Token mit neuer Solve regenerieren. |
| Strikte ausgehende Firewall | CheckToken-Host auf service2.mtcaptcha.com umstellen. |
Weitere Informationen
- MTCaptcha Schnellstart
- Token validieren (mit privatem Schlüssel)
- Low Friction Invisible Captcha
- Funktioniert in China
Post-Migration Checklist
- Turnstile-Script, Widget-Container und
siteverify-Integration entfernt. -
mtcaptchaConfigmit"sitekey": "YOUR_SITEKEY"steht vormtcaptcha.min.js. - Server verifiziert
mtcaptcha-verifiedtokenüberhttps://service.mtcaptcha.com/mtcv1/api/checktoken. - Turnstile Callback/Refresh-Verhalten auf MTCaptcha portiert.
- Produktions- und Staging-Hostnamen gegen Admin-Portal-Einstellungen geprüft.
- CSP/Netzwerk erlauben MTCaptcha Assets und API.