it-swarm-es.com

¿Podemos hacerlo mejor que CAPTCHA?

Hay una variedad de diferentes formas de CAPTCHA y otras estrategias para prevenir el spam. Para enumerar brevemente algunos:

  • Matemáticas simples o preguntas de Word.
  • Texto ofuscado.
  • CAPTCHA basados ​​en JavaScript.
  • CAPTCHA de imagen.
  • Honeypots.
  • CAPTCHA de audio.
  • Filtrado basado en reglas como Akismet.
  • Aumento gradual de los privilegios basados ​​en la confianza.
  • Moderación comunitaria como StackExchange.
  • Los desincentivos de spam como atributos nofollow a enlaces.
  • Incentivos para publicar buen contenido.
  • Moderación administrativa.
  • Listas blancas y listas negras de IP.
  • Vergüenza pública y desgracia.

Cada uno de estos enfoques tiene obstáculos que superar debido a problemas de accesibilidad, limitaciones técnicas, restricciones de tiempo, problemas de conversión o tamaño de la comunidad. Los sistemas que he visto funcionar mejor son una combinación de varias de las técnicas anteriores. Sin embargo, no puedo evitar sentir que nos falta algo importante a la hora de combatir el spam.

Sé que puede ser demasiado desear una única solución única para todos, pero tal vez la prevención del spam podría abordarse desde un ángulo diferente. Sospecho que puede haber más por explorar en términos de la forma en que la interfaz de usuario influye en el comportamiento humano.

Creo que tener restricciones a menudo desencadena la creatividad, así que dadas las siguientes restricciones, ¿podemos encontrar nuevas herramientas para agregar a nuestro arsenal contra el correo basura desde la perspectiva de la interfaz de usuario?

  1. Debe ser accesible.
  2. Debe ser no disruptivo y transparente para el usuario final.
  3. No puede restar ni distraer del propósito principal de la página.
  4. Debe ser automatizado o requerir muy poca moderación a gran escala.
  5. No puede ser un servicio de terceros.
46
Virtuosi Media

Me pregunto si podemos explotar algunas de las propiedades físicas que difieren entre las personas reales que usan navegadores y robots de spam.

Las dos propiedades que se me ocurren son secuencia y ritmo .

Secuencia: Una persona real descargará una página antes de enviar un comentario; algunos spambots saltan directamente al envío de un formulario.

¿Podemos detectar si previamente le hemos enviado el formulario a ese usuario y rechazar los envíos donde no han descargado el formulario?

Pace: Una persona real normalmente tardará entre unos segundos y unos minutos en ingresar su comentario antes de presionar enviar; un spambot puede descargar la página e inmediatamente enviar el comentario de spam.

¿Es razonable rechazar envíos que ocurren demasiado rápido (por ejemplo, <2 segundos) o demasiado lento (por ejemplo,> 24 horas)?

22
Bevan

Si bien esto parece una respuesta frívola, XKCD realmente tenía una solución conceptual para este problema, que se encuentra aquí: http://xkcd.com/810/ . En resumen, la alternativa es leer un comentario de usuario no relacionado y luego indicar si el comentario es constructivo o no constructivo. Esto tiene la característica adicional de evitar que las personas publiquen comentarios como "esto apesta" y similares. Eso puede o no ser deseable en función de su caso de uso previsto, pero sé que me gustaría ver menos de esos.

Esta solución tiene algunos problemas, como por ejemplo, ¿cómo se crea un conjunto de referencia de comentarios constructivos/no constructivos que se pueden utilizar como conjunto de prueba? O alguien debe revisar manualmente estos comentarios primero, lo que no cumple con su cuarto requisito, o debe crear algún tipo de sistema para mostrar los comentarios "pendientes" a los usuarios verificados (digamos 50 veces más o menos) para obtener un consenso sobre el "correcto" responder. Obviamente, esto supone que lo que está tratando de usar para proteger las alternativas CAPTCHA es un sistema de comentarios, y que tiene suficientes usuarios generando comentarios (o acceso a un conjunto de comentarios no relacionados) para tener una línea de base real.

Editar: mientras mi cerebro estaba cautivador (todavía no he tomado mi té), dependiendo de la longitud de los comentarios, puede mostrar más de 1 comentario para indicar que es constructivo o no, lo que le permite presentar sin problemas el "pendiente "comentarios a los usuarios para llegar a su consenso sobre ese comentario sin que nadie sienta que tiene que hacer un trabajo adicional.

6
Josef Schelch

Acabo de leer un artículo muy interesante sobre el tema hace unos días. Tiene alternativas creativas, deberías echarle un vistazo

http://webdesignledger.com/tips/why-you-should-stop-using-captchas

6
Pam Rdz

Tener dinero es humano

La solución más efectiva que he encontrado para diferenciar entre robots y personas es saber si han gastado o no dinero en Internet.

Para usar un correo electrónico como un identificador de cuenta común para este ejemplo. Si sabe que el correo electrónico ha comprado algún artículo en línea, ya sea de usted, de un competidor, de Amazon o de cualquier mercado digital, puede estar 100% seguro de que es un humano y no un bot de spam.

Esto funciona hoy y nunca dejará de funcionar porque el costo de comprar un artículo siempre excederá el valor del correo no deseado que se puede publicar después, lo que hace que el correo no sea económicamente factible.

Esto no es muy factible para muchas personas que no operan en el comercio electrónico o en industrias relacionadas, pero en situaciones en las que tiene esos datos, tiene una manera perfecta de identificar si una persona es humana. No más incitarlos con preguntas difíciles.

4
anthonyryan1

Estoy interesado en explorar/volver a visitar este hilo, y me gustaría saber si esto podría funcionar o no dada la tecnología actual:

  1. Se presenta a los usuarios una imagen del mapa mundial, donde la imagen se puede desplazar aleatoriamente horizontalmente a través de la pantalla cada vez para que pueda recordar la posición geográfica como una posición coordinada en la imagen.

  2. Se les hace una pregunta a los usuarios "por ejemplo, dónde se encuentra en el mundo en este momento" relacionada con una posición geográfica que se puede verificar (por ejemplo, a través de una dirección IP o la dirección de la máquina).

  3. La entrada del usuario coincide con la imagen y si las respuestas coinciden, entonces el captcha está completo.

Creo que es rápido, probablemente se pueda hacer accesible, pero probablemente aún requiera el procesamiento de JavaScript. Pero solo se basa en el procesamiento del usuario y en una respuesta muy rápida y simple que los bots no pueden simular de manera confiable (¿o sí?). También estoy explorando algunas ideas con captchas basadas en gestos, pero no sé si también hay problemas específicos con esto.

2
Michael Lai

El análisis de la actividad social puede ser útil.

Por ejemplo, si alguien inició sesión en su sitio usando Facebook connect, y ve que ha estado registrado durante 3 años, tiene 50 amigos y una foto de su gato en la galería, puede solicitar CAPTCHA a ese usuario solo ocasionalmente.

Por el contrario, si un usuario se registró ayer en Facebook y tiene exactamente 256 amigos (es broma), puede pedirle que ingrese CAPTCHA los primeros 10 días más o menos.

Por supuesto, este enfoque se basa en la capacidad de Facebook/Google/etc. para eliminar cuentas secuestradas con bastante rapidez.

0
Dmitry Grigoryev

¿Qué pasa si se usó un juego pequeño como prueba? Un rompecabezas simple que mantiene a los usuarios entretenidos para que realmente no se den cuenta de que es para prevenir el spam ... como una versión simplificada de Crayon Physics .

0
user2588