🔐 Advanced Captcha Demo

Experience next-generation bot detection with behavioral analysis, proof-of-work fallback, and adversarial protection

📊 View Analytics Dashboard

🎯 Interactive Demo

Try our advanced captcha system with different challenge types and see how it detects human vs bot behavior:

🚀 Advanced Features

🧠
Behavioral Analysis
Analyzes mouse movement patterns, timing, and interaction behavior to detect bots
Proof-of-Work Fallback
Automatically triggers computational challenges for suspicious users
🛡️
Adversarial Protection
Applies noise and distortions to prevent ML-based solving
Accessibility
Audio instructions, keyboard navigation, and screen reader support
📊
Real-time Analytics
Comprehensive dashboard with metrics, heatmaps, and alerts
🔧
Easy Integration
Simple iframe embedding or SDK integration for any platform

🔧 Integration Examples

HTML/JavaScript
React
Node.js
PHP
// Basic HTML integration <div id="captcha-container"></div> <script> // Generate captcha challenge async function loadCaptcha() { const response = await fetch('/captcha/challenge', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ siteKey: 'demo-site-key', type: 'slider' // optional }) }); const challenge = await response.json(); // Create iframe const iframe = document.createElement('iframe'); iframe.src = challenge.iframe.url; iframe.style.width = challenge.iframe.width + 'px'; iframe.style.height = challenge.iframe.height + 'px'; document.getElementById('captcha-container').appendChild(iframe); } // Listen for captcha completion window.addEventListener('message', (event) => { if (event.data.type === 'CAPTCHA_SUCCESS') { console.log('Captcha verified!', event.data.token); // Enable form submission document.getElementById('submitBtn').disabled = false; } }); </script>
// React component integration import React, { useState, useEffect } from 'react'; const CaptchaWidget = ({ siteKey, onVerify }) => { const [challenge, setChallenge] = useState(null); const [isVerified, setIsVerified] = useState(false); const loadChallenge = async () => { const response = await fetch('/captcha/challenge', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ siteKey }) }); const data = await response.json(); setChallenge(data); }; useEffect(() => { const handleMessage = (event) => { if (event.data.type === 'CAPTCHA_SUCCESS') { setIsVerified(true); onVerify(event.data.token); } }; window.addEventListener('message', handleMessage); return () => window.removeEventListener('message', handleMessage); }, [onVerify]); return ( <div> {!challenge && ( <button onClick={loadChallenge}> Load Captcha </button> )} {challenge && ( <iframe src={challenge.iframe.url} width={challenge.iframe.width} height={challenge.iframe.height} style={{ border: '1px solid #ccc' }} /> )} {isVerified && ( <p>✅ Verified!</p> )} </div> ); }; export default CaptchaWidget;
// Node.js server-side verification const express = require('express'); const app = express(); app.post('/verify-captcha', async (req, res) => { const { token } = req.body; try { // Verify the captcha token const response = await fetch('http://localhost:3000/captcha/verify', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token, secretKey: 'your-secret-key' }) }); const result = await response.json(); if (result.success) { // Captcha verified successfully res.json({ success: true, message: 'Human verified!' }); } else { res.status(400).json({ success: false, message: 'Captcha failed' }); } } catch (error) { res.status(500).json({ success: false, message: 'Server error' }); } }); app.listen(3000, () => { console.log('Server running on port 3000'); });
// PHP server-side verification <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $token = $_POST['captcha_token']; // Verify captcha token $data = json_encode([ 'token' => $token, 'secretKey' => 'your-secret-key' ]); $context = stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => 'Content-Type: application/json', 'content' => $data ] ]); $url = 'http://localhost:3000/captcha/verify'; $response = file_get_contents($url, false, $context); $result = json_decode($response, true); if ($result['success']) { // Process form submission echo 'Form submitted successfully!'; } else { echo 'Captcha verification failed!'; } } ?>

📊 Live Statistics

0
Total Challenges
0%
Success Rate
0s
Avg Solve Time
0%
Bot Detection