Prevenir el spam usando Honey Pots

8

Tengo mucha curiosidad acerca de cómo evitar el spam de comentarios en un foro utilizando una trampa de trampa de miel para bots de spam.

  • ¿Qué pasa si CSS y JavaScript están desactivados en un navegador?

  • ¿Ves otras desventajas en la trampa de miel?

  • ¿Qué crees que debería tener cada trampa de miel?

  • ¿Conoces alguna otra alternativa anti-spam que no perturbe la experiencia de los usuarios?

sfrj
fuente
Estoy migrando esto a los webmasters. Tenga en cuenta que es posible que aún necesite mejorar la pregunta para que se ajuste a sus estándares.
NullUserException
Eliminé la solicitud de código CSS / HTML ya que está fuera de tema aquí. Puedes preguntar eso en StackOverflow. Pero le recomiendo escribir su propio código primero y luego pedirles ayuda si tiene problemas. Solo pedirles a otros que escriban código para usted obtendrá muchos votos negativos y tal vez incluso tenga la pregunta cerrada.
John Conde
¿Qué script de foro estás usando? Algunos ya tienen implementaciones honeypot como complementos / módulos / lo que sea.
Su '
2
@Rook CAPTCHA se ha demostrado repetidamente como solucionable por robot y castiga a todos independientemente Se trata de una opción transparente para humanos.
Su '

Respuestas:

4

¿Qué pasa si CSS y JavaScript están desactivados en un navegador?

Un honeypot adecuado no dependerá de ninguno de estos para funcionar. Idealmente, utilizará un campo de formulario oculto para esto que no requiere ninguna ocultación real.

¿Ves otras desventajas en la trampa de miel?

Si lo hace correctamente, no debería haber ningún problema del que los usuarios sean conscientes. Habrá una pequeña cantidad de gastos generales necesarios para que funcione, pero eso debería ser tan pequeño que ni siquiera debería ser una preocupación.

¿Conoces alguna otra alternativa anti-spam que no perturbe la experiencia de los usuarios?

De una respuesta anterior : podría hacer varias cosas (y debería estar haciendo más de una) incluyendo:

  1. Use un CAPATCHA como reCAPTCHA

  2. Use un campo que requiera que el usuario responda una pregunta como qué es 5 + 3. Cualquier ser humano puede responderla, pero un bot no sabrá qué hacer, ya que se rellena automáticamente en función de los nombres de campo. Por lo tanto, ese campo será incorrecto o faltante, en cuyo caso el envío será rechazado.

  3. Use un token y póngalo en una sesión y también agréguelo al formulario. Si el token no se envía con el formulario o no coincide, entonces está automatizado y puede ignorarse.

  4. Busque envíos repetidos desde la misma dirección IP. Si su formulario no recibe demasiadas solicitudes, pero de repente es probable que esté siendo golpeado por un bot y debería considerar bloquear temporalmente la dirección IP.

  5. Usa Askimet . Es excelente para identificar el spam.

Lectura recomendada: ¿Cómo funcionan los spambots?

John Conde
fuente
2
1 y 2 son intrusivos. 3 puede ser automatizado también.
NullUserException
@ John Conde Esto fue muy útil. Intentaré mejorar mi tarro de miel. ¡Gracias!
sfrj
1

Estoy seguro de que los bots de formularios ignorarán cualquier <input type="hidden">campo. La mejor solución es utilizar el ingreso de texto de manera normal, con un tipo de datos común. Cualquier cosa que no esté utilizando actualmente está bien, como sitio web, dirección, código postal, nombre de usuario, etc.

Agregue un mensaje que diga "si puede ver este campo, déjelo en blanco". Envuelva el mensaje e ingrese en un elemento div con CSS configurado para mostrar: ninguno.

Desafortunadamente, aunque la mayoría de los bots de spam son muy simples y tontos, muchos son más inteligentes y pueden detectar cualquier truco popular. Dependiendo de la naturaleza del formulario, puede ser mejor usar CAPTCHA o Akismet.

Cabra descontento
fuente
1

Algo que a menudo no veo sugerido es una solución de captcha basada en el tiempo. El spam funciona mejor al difundirlo lo más rápido posible. Reemplacé el ReCaptcha alojado en Google con un retraso de envío de 20 segundos para mis formularios de contacto usando sesiones PHP, y redujo el spam considerablemente. Se me ocurrió el tiempo de retraso utilizando datos de Analytics sobre el comportamiento del usuario.

Cycododge
fuente