Cómo detener bots en formularios con honeypot
Índice
El problema de los bots en formularios
Qué es la técnica honeypot
Ejemplo práctico con HTML y JavaScript
Recomendaciones extra para mayor seguridad
Conclusión
1. El problema de los bots en formularios
Cada día miles de formularios son completados por bots que buscan enviar spam o recolectar datos. Esto genera ruido en tus campañas, pérdida de tiempo al filtrar registros y métricas poco fiables. La buena noticia es que existen trucos simples para reducir este problema sin complicadas configuraciones.
2. Qué es la técnica honeypot
Un honeypot consiste en añadir un campo oculto al formulario que los usuarios humanos no ven ni completan. Sin embargo, los bots, al recorrer el HTML de manera automática, suelen llenar todos los campos disponibles. Si ese campo oculto se completa, podemos identificar que no es un humano real y bloquear el envío.
3. Ejemplo práctico con HTML y JavaScript
Aquí tienes un ejemplo sencillo que puedes adaptar a tu web:
<form id="contactForm" onsubmit="return validateForm(event)"> <input type="text" name="name" placeholder="Tu nombre" required> <input type="email" name="email" placeholder="Tu email" required> <!-- Honeypot: campo oculto para bots --> <input type="text" name="extraField" id="extraField" style="display:none"> <button type="submit">Enviar</button> </form> <script> function validateForm(e) { const honeypot = document.getElementById('extraField').value; if (honeypot !== "") { alert("Error: bot detectado, no se puede enviar."); return false; // Evita el envío } return true; // Permite el envío normal } </script>
Cómo funciona este código:
Creamos un formulario con los campos habituales de nombre y correo.
Agregamos un campo adicional llamado
extraField
que está oculto constyle="display:none"
.El usuario humano nunca lo verá, por lo tanto nunca lo llenará.
Un bot, en cambio, al recorrer automáticamente todos los inputs, lo completará.
La función
validateForm()
se ejecuta cuando el usuario envía el formulario.Dentro de esta función comprobamos si el campo oculto (
extraField
) contiene algún valor.Si está vacío, significa que el usuario es legítimo → el formulario se envía.
Si tiene algo escrito, significa que un bot lo llenó → se detiene el envío y aparece el mensaje "Error: bot detectado".
De esta forma, sin afectar la experiencia del usuario, logramos filtrar gran parte del spam automático.
4. Recomendaciones extra para mayor seguridad
El honeypot es muy útil, pero no es infalible. Puedes complementar esta técnica con:
Validar IPs sospechosas que intentan enviar varias solicitudes en poco tiempo.
Enviar una alerta al sistema cuando un bot sea detectado para revisar patrones de ataque.
Implementar un captcha sencillo solo en formularios críticos.
5. Conclusión
El honeypot es una de las formas más rápidas y efectivas de frenar registros falsos sin afectar la experiencia de los usuarios reales. Una medida pequeña puede marcar la diferencia en la calidad de tus leads y en la limpieza de tu base de datos.
Si quieres optimizar tus formularios y campañas digitales con soluciones inteligentes, este es un gran primer paso.
¿Necesitas ayuda para conseguir clientes?
Reserva una videollamada donde responderemos a tus dudas y te ayudaremos totalmente gratis a plantear la estrategia que más beneficie a tu empresa.
>>Clic aquí para una videollamada de asesoramiento gratuita<<