Tengo un enfoque simple para detener a los spammers que es 100% efectivo, al menos en mi experiencia, y evita el uso de reCAPTCHA y enfoques similares. Pasé de cerca de 100 spam por día en uno de los formularios html de mis sitios a cero durante los últimos 5 años una vez que implementé este enfoque.
Funciona aprovechando las capacidades ALIAS de correo electrónico de la mayoría de los scripts de manejo de formularios html (yo uso FormMail.pl), junto con un "código" de envío gráfico, que se crea fácilmente en el programa de gráficos más simple. Uno de estos gráficos incluye el código M19P17nH y el mensaje "Introduzca el código de la izquierda".
Este ejemplo en particular usa una secuencia aleatoria de letras y números, pero tiendo a usar versiones de palabras que no están en inglés y que son familiares para mis visitantes (por ejemplo, "pnofrtay"). Tenga en cuenta que la solicitud del campo del formulario está integrada en el gráfico, en lugar de aparecer en el formulario. Por lo tanto, para un robot, ese campo de formulario no presenta ninguna pista sobre su propósito.
El único truco real aquí es asegurarse de que su formulario html asigne este código a la variable "destinatario". Luego, en su programa de correo, asegúrese de que cada código que use esté configurado como un alias de correo electrónico, que apunte a las direcciones de correo electrónico que desee usar. Dado que no hay ningún aviso de ningún tipo en el formulario para que un robot lo lea y no hay direcciones de correo electrónico, no tiene idea de qué poner en el campo del formulario en blanco. Si no pone nada en el campo del formulario ni nada excepto códigos aceptables, el envío del formulario falla con un error de "destinatario incorrecto". Puede usar un gráfico diferente en diferentes formas, aunque en mi experiencia no es realmente necesario.
Por supuesto, un ser humano puede resolver este problema en un instante, sin todos los problemas asociados con reCAPTCHA y esquemas similares, más elegantes. Si un spammer humano responde a la falla del destinatario y programa el código de imagen en el robot, puede cambiarlo fácilmente, una vez que se dé cuenta de que el robot ha sido codificado para responder. En cinco años de usar este enfoque, nunca he recibido un correo no deseado de ninguno de los formularios en los que lo uso ni he tenido una queja de ningún usuario humano de los formularios. Estoy seguro de que esto podría superarse con la capacidad de OCR en el robot, pero nunca me ha sucedido en ninguno de mis sitios que usan formularios html. También he utilizado "trampas de spam" (código html oculto "ven aquí" que apunta a mis políticas anti-spam) con buenos resultados, pero solo fueron efectivas en un 90%.