Kein Google reCAPTCHA. Kein hCaptcha. Keine Drittanbieter, keine Cookies, kein Fingerprinting. Einfach einbinden – fertig. Open Source & kostenlos.
Drei verschiedene CAPTCHA-Typen – alle ohne externen Request.
⟶ HMAC-SHA256 signiertes Token · Gültig 5 Minuten · Serverseitig validierbar via CaptchaValidator.php
Gebaut für Europa – konzipiert für die DSGVO von Anfang an.
Jede erfolgreiche Lösung erzeugt ein kryptografisch signiertes Token. Serverseitig in Sekunden validierbar – Replay-Angriffe ausgeschlossen.
Keine Verbindung zu Google, Cloudflare oder anderen Dritten. Alles läuft im Browser des Nutzers – auf Ihrer eigenen Domain.
Kein localStorage, kein sessionStorage, keine Cookies. Keine Einwilligung nach DSGVO Art. 7 erforderlich.
Puzzle-Slider, Bild-Rotation und Honey-Math – zufällig gewählt oder manuell konfiguriert. Anti-Bot durch Vielfalt.
Drop-in Klasse für PHP 8.x mit Redis- und PDO-Unterstützung für Nonce-Blacklisting. Laravel-kompatibel.
captcha.js enthält alles: Styles werden automatisch injiziert. Kein npm, kein Build-Step, kein CDN erforderlich.
Eine JS-Datei einbinden, Container-Element setzen, fertig. Kein CDN, keine externen Ressourcen.
Puzzle schieben, Bild drehen oder Rechenproblem lösen. Interaktiv, intuitiv, barrierefrei bedienbar.
Bei Erfolg: HMAC-SHA256 signiertes Token. Enthält Typ, Timestamp, Ablauf und kryptografischen Nonce.
CaptchaValidator.php prüft Signatur, Ablaufzeit und Replay-Schutz in unter 1ms.
Kein Build-Step, kein npm install, keine Konfiguration erforderlich.
<!-- 1. JS einbinden (eine Datei, keine Dependencies) --> <script src="captcha.js"></script> <!-- 2. Container im Formular --> <div id="mein-captcha"></div> <input type="hidden" name="captcha_token" id="captcha_token"> <!-- 3. Initialisieren --> <script> const captcha = new PrivateCaptcha('#mein-captcha', { type: 'auto', // 'puzzle' | 'rotate' | 'math' | 'auto' secretKey: 'IHR_SERVER_SECRET', lang: 'de' }); captcha.onSolve(token => { document.getElementById('captcha_token').value = token; }); </script> <!-- 4. Server-seitig validieren (PHP) --> // $validator = new CaptchaValidator($_ENV['CAPTCHA_SECRET']); // $result = $validator->validate($_POST['captcha_token']); // if (!$result->isValid()) { /* Fehler */ }
Im Auto-Modus wird bei jedem Seitenaufruf zufällig ein Typ gewählt.
Ein Puzzle-Teil muss per Slider exakt in die passende Lücke geschoben werden. Toleranz: ±13 Pixel.
Ein zufällig gedrehtes Symbol muss mit +/− Buttons wieder aufrecht gestellt werden.
Eine einfache Rechenaufgabe wird als leicht verzerrtes Canvas-Bild dargestellt – resistent gegen OCR-Bots.
Kostenlos, open source, sofort einsetzbar.