Sistema de verificación humana inteligente, intuitivo y sin tracking. La alternativa perfecta que respeta la privacidad de tus usuarios.
Detección de Bots
Tiempo Promedio
Sin Tracking
Costo de Uso
Tecnología de verificación humana de última generación diseñada para seguridad máxima y experiencia de usuario excepcional
Sistema de firma criptográfica HMAC-SHA256, validación de comportamiento humano y detección de honeypot para máxima protección contra bots sofisticados.
Sin tracking de usuarios, sin cookies de terceros. Tu privacidad y la de tus usuarios es nuestra prioridad.
Sistema de deslizamiento simple y natural. Completar la verificación toma solo 3 segundos promedio, sin frustraciones ni imágenes borrosas.
Tracking de movimientos del mouse, análisis de timing y detección de patrones para distinguir humanos reales de bots automatizados.
Implementación en minutos con solo 3 líneas de código. Compatible con cualquier framework o CMS. Documentación completa en español.
Optimizado para todos los dispositivos. Funciona perfectamente en móviles, tablets y escritorio con soporte táctil completo.
Descubre por qué IKOMCAPTCHA es la mejor opción para tu sitio web
| Característica | IKOMCAPTCHA | OTROS | hCaptcha |
|---|---|---|---|
| Sin Tracking de Usuarios | |||
| Sin Cookies de Terceros | |||
| Cumple 100% GDPR | |||
| Interfaz Intuitiva | |||
| Sin Selección de Imágenes | |||
| Código Abierto | |||
| Gratuito | |||
| Soporte en Español | |||
| Tiempo Promedio Completado | ~3 segundos | ~15 segundos | ~20 segundos |
Todo lo que necesitas saber para integrar IKOMCAPTCHA en tu sitio web
Implementa IKOMCAPTCHA en tu sitio web en menos de 5 minutos. Solo necesitas agregar unas pocas líneas de código.
<script src="https://ikomcaptcha.com/icp.js"></script>
<div id="captcha-container"></div>
IkomsoftCaptcha.init({
containerId: 'captcha-container',
callback: function(token) {
console.log('Token recibido:', token);
// Enviar token al servidor
}
});
La forma más rápida de comenzar es usando nuestro CDN:
<script src="https://ikomcaptcha.com/icp.js"></script>
También puedes descargar el script y alojarlo en tu servidor:
wget https://ikomcaptcha.com/icp.js # Copiar a tu carpeta de scripts cp icp.js /tu/carpeta/js/
<script src="/js/icp.js"></script>
const captchaInstance = IkomsoftCaptcha.init({
containerId: 'captcha-container',
// Callback cuando se completa el CAPTCHA
callback: function(token) {
document.getElementById('captcha-token').value = token;
document.getElementById('submit-btn').disabled = false;
},
// Callback en caso de error
onError: function(error) {
console.error('Error:', error);
document.getElementById('submit-btn').disabled = true;
},
// Callback cuando expira (60 segundos)
onExpire: function() {
console.log('CAPTCHA expirado');
IkomsoftCaptcha.reset(captchaInstance);
}
});
<!DOCTYPE html>
<html>
<head>
<title>Formulario con IKOMCAPTCHA</title>
<script src="https://ikomcaptcha.com/icp.js"></script>
</head>
<body>
<form id="myForm" method="POST" action="/submit.php">
<input type="text" name="name" placeholder="Nombre" required>
<input type="email" name="email" placeholder="Email" required>
<!-- Contenedor del CAPTCHA -->
<div id="captcha-container"></div>
<input type="hidden" id="captcha-token" name="captcha_token">
<button type="submit" id="submit-btn" disabled>
Enviar
</button>
</form>
<script>
// Inicializar CAPTCHA
const captcha = IkomsoftCaptcha.init({
containerId: 'captcha-container',
callback: function(token) {
document.getElementById('captcha-token').value = token;
document.getElementById('submit-btn').disabled = false;
},
onError: function() {
document.getElementById('submit-btn').disabled = true;
}
});
</script>
</body>
</html>
Puedes resetear el CAPTCHA programáticamente:
// Resetear después de enviar el formulario IkomsoftCaptcha.reset(captchaInstance);
<?php
// Configuración
define('CAPTCHA_SECRET_KEY', 'TU_CLAVE_SECRETA_AQUI');
define('CAPTCHA_VERIFY_URL', 'https://www.ikomcaptcha.com/api/verify-token.php');
// Función para verificar el token
function verifyCaptcha($token) {
$data = array(
'token' => $token,
'secret' => CAPTCHA_SECRET_KEY,
'ip' => $_SERVER['REMOTE_ADDR']
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, CAPTCHA_VERIFY_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Uso en tu formulario
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$token = $_POST['captcha_token'] ?? '';
if (empty($token)) {
die('Error: CAPTCHA no completado');
}
$result = verifyCaptcha($token);
if ($result['success']) {
// ✅ CAPTCHA válido - procesar formulario
$name = $_POST['name'];
$email = $_POST['email'];
// Aquí va tu lógica de negocio
echo 'Formulario enviado exitosamente';
} else {
// ❌ CAPTCHA inválido
die('Error: ' . $result['error']);
}
}
?>
const axios = require('axios');
const CAPTCHA_SECRET_KEY = 'TU_CLAVE_SECRETA_AQUI';
const CAPTCHA_VERIFY_URL = 'https://www.ikomcaptcha.com/api/verify-token.php';
async function verifyCaptcha(token, ip) {
try {
const response = await axios.post(CAPTCHA_VERIFY_URL, {
token: token,
secret: CAPTCHA_SECRET_KEY,
ip: ip
});
return response.data;
} catch (error) {
return { success: false, error: 'Connection error' };
}
}
// Uso en Express.js
app.post('/submit', async (req, res) => {
const { captcha_token, name, email } = req.body;
if (!captcha_token) {
return res.status(400).json({ error: 'CAPTCHA no completado' });
}
const result = await verifyCaptcha(captcha_token, req.ip);
if (result.success) {
// ✅ CAPTCHA válido
// Procesar formulario aquí
res.json({ message: 'Formulario enviado exitosamente' });
} else {
// ❌ CAPTCHA inválido
res.status(400).json({ error: result.error });
}
});
import requests
import json
CAPTCHA_SECRET_KEY = 'TU_CLAVE_SECRETA_AQUI'
CAPTCHA_VERIFY_URL = 'https://www.ikomcaptcha.com/api/verify-token.php'
def verify_captcha(token, ip):
data = {
'token': token,
'secret': CAPTCHA_SECRET_KEY,
'ip': ip
}
try:
response = requests.post(
CAPTCHA_VERIFY_URL,
json=data,
timeout=10
)
return response.json()
except:
return {'success': False, 'error': 'Connection error'}
# Uso en Flask
@app.route('/submit', methods=['POST'])
def submit_form():
token = request.form.get('captcha_token')
if not token:
return jsonify({'error': 'CAPTCHA no completado'}), 400
result = verify_captcha(token, request.remote_addr)
if result['success']:
# ✅ CAPTCHA válido
# Procesar formulario
return jsonify({'message': 'Formulario enviado'})
else:
# ❌ CAPTCHA inválido
return jsonify({'error': result['error']}), 400
# En tu archivo .env (NO subir a Git) CAPTCHA_SECRET_KEY=tu_clave_secreta_aqui
// En tu código PHP
define('CAPTCHA_SECRET_KEY', getenv('CAPTCHA_SECRET_KEY'));
Inicializa una instancia del CAPTCHA.
Parámetros:{
containerId: 'string', // ID del contenedor (requerido)
callback: function(token), // Función al completar (requerido)
onError: function(error), // Función en caso de error (opcional)
onExpire: function(), // Función cuando expira (opcional)
}
instanceId - ID de la instancia del CAPTCHA
Resetea una instancia del CAPTCHA.
Parámetros:instanceId - ID retornado por init()Éxito:
{
"success": true,
"score": 95.5,
"response_token": "..."
}
Error:
{
"success": false,
"error": "Invalid token signature"
}
Únete a cientos de desarrolladores que ya confían en IKOMCAPTCHA para proteger sus formularios web
Comenzar Ahora - Es Gratis