Migration von FriendlyCaptcha
Diese Anleitung hilft Ihnen bei der Migration von FriendlyCaptcha (Proof-of-Work-Widget, oft über friendly-challenge) zu MTCaptcha mit dem Standard-Flow aus mtcaptchaConfig + Widget + CheckToken.
Warum Teams von FriendlyCaptcha migrieren
- Bewahren Sie eine privacy-first CAPTCHA-Strategie, während Sie auf die MTCaptcha-Infrastruktur konsolidieren.
- Wechseln Sie von einer Proof-of-Work-ähnlichen Challenge-Verarbeitung zu den Challenge-Optionen von MTCaptcha.
- Nutzen Sie MTCaptchas Barrierefreiheit und umfassendere Widget-Anpassungsmöglichkeiten.
- Sichern Sie eine hochverfügbare globale Abdeckung, einschließlich Festlandchina.
Migrationsüberblick
| FriendlyCaptcha | MTCaptcha | |
|---|---|---|
| Client-Script | Z. B. https://cdn.jsdelivr.net/npm/friendly-challenge/widget.module.min.js (Modul) oder Bundler-Import | https://service.mtcaptcha.com/mtcv1/client/mtcaptcha.min.js |
| Widget-Klasse | .frc-captcha (oder Framework-Wrapper um FriendlyCaptcha) | .mtcaptcha (<div class="mtcaptcha"></div>) |
| Token-Name | Meist frc-captcha-solution (Hidden-Feld / Solution-String) | mtcaptcha-verifiedtoken |
| Backend-API | POST https://api.friendlycaptcha.com/api/v1/siteverify (hosted) oder Ihr self-hosted Verify-Endpoint | GET https://service.mtcaptcha.com/mtcv1/api/checktoken (privatekey + token) |
Geben Sie den MTCaptcha-PrivateKey niemals im Frontend aus. Führen Sie CheckToken nur im Backend aus.
Schritt 1: Clientseitiges Script und Widget ersetzen
<!-- Remove [FriendlyCaptcha] -->
<script type="module" src="https://cdn.jsdelivr.net/npm/friendly-challenge/widget.module.min.js" async defer></script>
<div class="frc-captcha" data-sitekey="YOUR_FRIENDLYCAPTCHA_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>
Definieren Sie mtcaptchaConfig mit "sitekey": "YOUR_SITEKEY" vor dem Laden von mtcaptcha.min.js.
Wenn Sie FriendlyCaptcha über JavaScript initialisiert haben (nicht statisches HTML), entfernen Sie dieses Bootstrap und verwenden Sie den MTCaptcha-Anker oder explizites Rendern.
Schritt 2: Serverseitige Verifizierung aktualisieren
Ersetzen Sie die FriendlyCaptcha-Verifizierung durch die MTCaptcha CheckToken API:
GET https://service.mtcaptcha.com/mtcv1/api/checktoken?privatekey=YOUR_PRIVATEKEY&token=VERIFIED_TOKEN
Verwenden Sie das Formularfeld mtcaptcha-verifiedtoken als token.
Validieren Sie Tokens zeitnah. Ein zweiter CheckToken-Aufruf auf denselben Wert kann fehlschlagen. Siehe Token validieren (mit privatem Schlüssel).
Bei eingeschränktem Egress verwenden Sie https://service2.mtcaptcha.com/mtcv1/api/checktoken wie im Guide beschrieben.
Fehlerbehebung
| Symptom | Was prüfen |
|---|---|
| PoW-Widget lädt weiterhin | Prüfen, dass FriendlyCaptcha-Module und <div class="frc-captcha"> vollständig entfernt sind. |
| Falsches Feld im Server | Parsing von frc-captcha-solution auf mtcaptcha-verifiedtoken umstellen. |
| CSP blockiert | https://service.mtcaptcha.com für Script erlauben (und service2 falls benötigt). |
| Hohe Client-CPU durch altes PoW | Nach Entfernen von FriendlyCaptcha sollten Nutzer keine PoW-Kosten mehr tragen. |
token-expired / invalid-token | Veralteter Token, Doppelsubmit oder Clock-Skew; Widget aktualisieren und einmal neu senden. |
Weitere Informationen
- MTCaptcha Schnellstart
- Validate Token (With Private Key)
- Datenschutz & GDPR-Compliance
- Barrierefreiheits-Compliance
Post-Migration Checklist
- FriendlyCaptcha-Assets und Server-Verify-Endpoints entfernt.
-
mtcaptchaConfignutzt"sitekey": "YOUR_SITEKEY"vormtcaptcha.min.js. - Backend liest
mtcaptcha-verifiedtokenund rufthttps://service.mtcaptcha.com/mtcv1/api/checktokenauf. - Lade-, Interaktions- und Conversion-Metriken vor/nach der Migration verglichen (PoW vs. MTCaptcha).
- CSP-/Netzwerkregeln aktualisiert.