Campos trampa (honeypot): la trampa para bots que nadie ve
Actualizado: 2026-09-13 · 7 min de lectura
Los bots rellenan los formularios «sin mirarlos»
Cuando una persona rellena un formulario web, mira la pantalla, reconoce los campos de entrada y escribe el contenido adecuado. Pero los bots no «miran» el formulario. Los bots analizan el código fuente HTML, detectan de forma mecánica los elementos input y textarea, y rellenan los valores con un programa.
Esta característica de «no mirar» es el principio del campo trampa. Se coloca un campo de entrada falso que las personas no ven, pero que existe en el HTML. Como las personas no ven este campo, no escriben nada en él. Pero los bots, como detectan los campos analizando el HTML, también rellenan el campo falso.
En el servidor, las publicaciones en las que el campo falso tiene un valor se consideran de bots y se rechazan. En las publicaciones de personas, el campo falso normalmente está vacío, así que es muy raro que una publicación legítima se rechace por error.
Cómo implementar un campo trampa
Hay varias formas de conseguir que un campo trampa esté en el estado de «las personas no lo ven, pero existe en el HTML».
La más habitual es ocultarlo con CSS. Al elemento que contiene el campo de entrada se le aplican estilos como colocarlo fuera de la pantalla (position: absolute; left: -9999px), reducir su tamaño a cero (width: 0; height: 0; overflow: hidden) u ocultarlo visualmente (opacity: 0).
El diseño de los nombres de los campos también es importante. Los bots detectan nombres de campo comunes como «email», «name» o «message» y los rellenan automáticamente. Si se ponen estos nombres al campo trampa, aumenta la probabilidad de que el bot lo rellene automáticamente. Al revés, a los campos de entrada reales se les ponen nombres difíciles de adivinar para los bots.
Un detalle a tener en cuenta: si se usa display: none, algunos bots avanzados tienen la lógica de «no rellenar los elementos ocultos», así que podrían esquivar la detección. Colocarlo fuera de la pantalla o reducir su tamaño a cero tiende a ser más difícil de detectar para los bots.
También hay que tener en cuenta la accesibilidad. Si un lector de pantalla lee en voz alta el campo trampa, los usuarios con discapacidad visual se confunden. Se añaden el atributo aria-hidden="true" y tabindex="-1" para excluir el campo trampa tanto de los lectores de pantalla como de la navegación con teclado.
Los puntos fuertes y los límites del campo trampa
El mayor punto fuerte del campo trampa es que no afecta en nada a la experiencia del usuario. No hace falta que el usuario elija imágenes, como con los CAPTCHA, ni ejecutar cálculos, como con la prueba de trabajo (Proof of Work). El usuario ni siquiera se da cuenta de que existe el campo trampa.
Otro punto fuerte es lo sencillo que es de implementar. Basta con añadir un campo de entrada falso en el HTML, ocultarlo con CSS y comprobar en el servidor el valor del campo falso. No depende de algoritmos complejos ni de servicios externos, y funciona de forma ligera.
Sin embargo, también tiene límites. Los bots avanzados pueden analizar los estilos de CSS que ocultan elementos, identificar el campo trampa y evitar rellenarlo. Los bots que usan navegadores sin interfaz gráfica (Puppeteer, Playwright, etc.) renderizan la página igual que un navegador real, así que pueden reconocer los elementos ocultos y saltarse el campo.
Además, el campo trampa no sirve contra el acoso manual de una persona. Como las personas reconocen el formulario a simple vista para rellenarlo, nunca caen en el campo trampa.
El papel del campo trampa dentro de la defensa en capas
El campo trampa, por sí solo, no puede detener a los bots avanzados. Pero, como una capa de la defensa en capas, es eficaz combinado con otras medidas.
En servicios como un buzón de preguntas, lo habitual es una estructura de varias capas que superpone el campo trampa, la prueba de trabajo y la limitación de frecuencia.
El campo trampa, como la capa de defensa más ligera, filtra primero a los bots simples. Los bots que analizan el HTML de forma mecánica y rellenan todos los campos quedan excluidos en esta capa. En la web hay muchos bots así de simples, y solo con el campo trampa se puede excluir a una cantidad considerable de bots.
Los bots que superan el campo trampa se encuentran con la siguiente capa, la prueba de trabajo. Tienen que resolver un rompecabezas de cálculo en cada publicación, lo que dispara el coste de publicar en masa. Además, aunque superen la prueba de trabajo, la limitación de frecuencia restringe la propia frecuencia de publicación.
Como cada una de las 3 capas funciona con un principio distinto, una técnica que supera una capa no tiene por qué servir para las demás. Que un bot esquive el campo trampa no significa que pueda esquivar también la prueba de trabajo, y que un bot resuelva rápido la prueba de trabajo no significa que pueda esquivar la limitación de frecuencia. Esta «combinación de principios distintos» es la esencia de la defensa en capas.
El origen del nombre «honeypot»
El nombre «honeypot» (tarro de miel) viene de un término de ciberseguridad. En el contexto de la seguridad, un honeypot es «un sistema señuelo para atraer a los atacantes a propósito». Se instala un servidor falso que se hace pasar por uno real y, cuando un atacante entra en él, se pueden observar y registrar sus métodos y objetivos. El nombre compara el sistema con un tarro (pot) que atrae a los insectos con miel (honey).
El campo trampa de los formularios parte de la misma idea. Se coloca un campo de entrada señuelo para atraer a los bots, y cuando un bot lo rellena, se le detecta. La idea básica de hacer caer en una trampa al atacante es la misma que la del honeypot de la seguridad de redes.
El concepto de honeypot lo sistematizaron entre finales de la década de 1990 y principios de la de 2000 investigadores de seguridad como Lance Spitzner. Al principio se usaba para detectar intrusiones en redes, pero después también se aplicó contra el spam en los formularios web. Es una técnica de larga vida que, con un principio sencillo, sigue usándose desde hace más de 30 años como medio de defensa práctico.