que - recaptcha v2
Eres humano?(o cómo evitar el spam) (11)
¿Qué mecanismos conoce que eviten que los spammers anónimos abusen de su sitio?
Por ejemplo, digamos que tengo un sitio donde la gente puede votar algo. Pero no quiero que alguien envíe correo no deseado por correo electrónico hasta llegar a la cima. Así que encontré (a) creando una cuenta y solo se me permitió votar una vez y (b) CAPTCHA para disminuir el correo no deseado. ¿Qué otros métodos sabes y qué tan buenos funcionan?
Este es el área de estudio de Computación Humana .
hay un excelente video de Luis von Ahn aquí: http://video.google.com/videoplay?docid=-8246463980976635143
Normalmente uso una combinación de los dos: un usuario anónimo es libre de navegar por todo, pero si quiere votar, entonces tiene que registrarse.
En el proceso de registro, dependiendo de la situación, utilizo un correo optin thru (para completar el registro y confirmo que al menos existe el buzón) y / o un CAPTCHA.
A partir de ese momento, puede decidir si el usuario puede elegir más de una vez o cualquier otra regla.
Por cierto, no soy partidario de las restricciones basadas en IP: hay muchas situaciones en las que la red de una gran organización usa poca IP para todos sus usuarios, por lo que el riesgo de bloquear a los usuarios que pueden votar es alto.
Para un sistema CAPTCHA, recomiendo encarecidamente reCAPTCHA .
Los CAPTCHA tradicionales generados por computadora eventualmente se romperán desarrollando un sistema suficientemente inteligente. Por ejemplo, aquí hay alguien que dice romper el Google CAPTCHA, anteriormente considerado irrompible, con una tasa de éxito del 30%. reCAPTCHA, por definición, muestra solo imágenes que no pueden reconocerse mediante el reconocimiento óptico de caracteres.
Y, al mismo tiempo, el esfuerzo de los usuarios se orientará hacia el bien común: ayudan a digitalizar libros mediante el reconocimiento de palabras que no pueden reconocerse automáticamente.
Vea aquí para una explicación más detallada y para probarlo.
tiene algunas características que ayudan con esto; Creo que el paso más útil que puede tomar es deshabilitar la capacidad de voto de los usuarios anónimos y las cuentas nuevas. De esta forma, nadie puede suscribirse a cientos de cuentas y usar su único voto para dominar a otros usuarios. Yo diría que requerir algunas publicaciones o membresía por un cierto período de tiempo son opciones decentes.
Algunos dirían que podría permitir un voto por dirección IP para ayudar a solucionar esto, pero he jugado muchos juegos en los que los usuarios malintencionados con un número casi infinito de servidores proxy desafían la seguridad basada en la dirección IP. Es un elemento de disuasión, pero un usuario inteligente lo sorteará fácilmente.
- Limite el número de votos por dirección IP por hora
- Bloquear proxies anonimizantes.
- Para votar: ¿Qué hay de barajar el valor que tiene que ser devuelto por el formulario "por sesión"? Una vez que "1" significa el primer elemento, "2" significa el segundo. Entonces "77" significa el primer elemento, "812" significa el segundo, ... podría haber algunas matemáticas simples detrás de la escena, pero evita que los usuarios simplemente envíen la misma consulta HTTP una y otra vez.
- Lo que funcionó muy bien para mí: utilizar formularios AJAX, no simples formularios HTTP. Técnicamente, no es mucho más complicado falsificar votos, pero he escrito un software de blog simple y su único mecanismo de protección contra SPAM es enviar los comentarios a través de AJAX, sin SPAM hasta el momento.
Soy un fanático del "campo oculto" CAPTCHA. No recuerdo dónde lo leí, pero la idea es la siguiente:
- crea tu forma como siempre
- agregue un campo adicional pero ocúltelo (es decir,
style="display:none"
en la fila Div o tabla circundante) - después del envío, si el campo está en blanco, realice la acción adecuada (por ejemplo, envíe un correo electrónico); si el campo ha sido rellenado, entonces es un remitente de robot
El único caso donde esto falla es si el navegador del usuario no maneja CSS (o lo tienen apagado), lo cual es muy raro.
¡Cargue por los votos, como lo hacen en algunos shows de "talentos" de televisión, y reciba correo basura todo el tiempo en el banco!
En serio, este es un problema realmente difícil, y algún día (tal vez pronto, si escuchas a Ray Kurzweil), las computadoras harán pruebas para detectar humanos. Las respuestas que agrego a la lista tienen inconvenientes obvios, pero solo por el simple hecho de enumerar: moderación (haga que los humanos realicen las pruebas) y seguimiento basado en IP (limite el número de votos de un host).
Lo más importante que noté es que hagas lo que hagas, quieres que tu sistema sea único. Desea que un atacante tenga que adaptar su programa de automatización para su sitio específico, en lugar de simplemente lanzar un script preexistente que funcionará en casi cualquier lugar. Ni siquiera tiene que ser criptográficamente seguro; solo tiene que hacer que su sitio sea un poco diferente de la norma.
Esto no significa que no pueda o no deba usar algo como un widget captcha preconstruido. ¡Absolutamente use uno de esos como punto de mira! Simplemente significa que tienes que personalizarlo en alguna parte para que ocurra algo extra que esté fuera de la norma y romperá cualquier script preexistente que normalmente podría vencerlo.
Si tu sitio es lo suficientemente grande como para que los atacantes lo orienten específicamente, entonces tu pequeña personalización simple probablemente ya no aguante más y es posible que hayas hecho algo un poco más especial y pienses en la criptografía real y todo eso. Pero esa es una de esas cosas que es un "buen" problema para tener.
Del servicio Quantum Random Bit Generator , a través de MNeylon
Desde xkcd
Hay algunas ideas en las respuestas al mejor CAPTCHA sin imagen. pregunta si aún no lo has visto