¿Se puede usar el valor de referencia de http para detener los bots de spam?

1

Tengo un sitio de registro público, y cuando hacen clic en enviar, aparece un mensaje de texto de verificación en el número de teléfono especificado en el registro al llamar a una página aspx a través de ajax. No quiero que los robots de spam envíen mensajes de texto por los que pago.

Me di cuenta de que la característica noCaptcha de Google con la casilla de verificación simple tiene muchas cosas geniales. Pero la característica más importante que tiene es que solo acepta solicitudes de direcciones IP o nombres de dominio que usted designe. Bueno. Y para hacer eso, tiene que verificar el referente de http en la solicitud. Entonces, ¿qué sucede si el navegador que lo envía o el firewall que lo rodea borra el referente de http? Entonces supongo que captcha no funciona en esa situación y devuelve un error de dirección IP o nombre de dominio incorrecto, o lo que sea que dé y tengo que manejarlo.

Entonces, mi pregunta es: ¿por qué no es necesario utilizar noCaptcha? Si puedo verificar la dirección IP del remitente o el nombre de dominio en la página que recibe la solicitud para enviar el mensaje de texto, y rechazar (o hacer lo que sea) si el remitente está en blanco o no, mi dirección IP o mi nombre de dominio (porque un script de correo no deseado) estar ejecutando en el servidor del spammer o la dirección IP o el nombre de dominio), ¿entonces no estoy haciendo lo mismo que noCaptcha y no lo necesito?

Parece que si el script de un spammer se está ejecutando en otra dirección IP o nombre de dominio invocando las llamadas js ajax que encontró en mi página a través de raspado, la dirección IP o nombre de dominio del remitente estará en blanco, o la dirección del verdadero spammer, como Parece que la referencia de http no puede ser falsificada, solo excluida o modificada a través de proxies, ninguno de los cuales será mi dirección IP o dominio.

De cualquier manera, ¿no es esto tan efectivo y llega a la conclusión? Si noCaptcha no puede aceptar solicitudes sin un referente http adecuado, ¿mi cheque no es menor que el de ellos? Cualquiera de las soluciones no funcionará si hay un servidor de seguridad que impide que se especifique la referencia de http o un script de spam que no lo especifique. Entonces, ¿qué estoy comprando (aunque sea gratis) de noCaptcha si tiene las mismas limitaciones de la idea que estoy proponiendo donde se realiza el control en la página solicitada que enviará el mensaje de texto?

Estoy buscando personas que me digan por qué mi enfoque de reemplazo de captcha no funciona realmente

    
pregunta Bobh 19.07.2017 - 00:34
fuente

2 respuestas

0

En primer lugar, su comprensión del campo de referencia es incorrecta. Google usa ese campo para asegurarse de que otro sitio no esté usando su clave API. Si se elimina el campo de referencia, el usuario no podrá completar el captcha, lo que a su vez significa que no puede enviar el formulario, lo que significa que no se enviará ningún mensaje de texto.

Cualquier cosa y todo se pueden falsificar, pero no en el navegador. Si tuviera que atacar su sitio, no escribiría un script AJAX y lo ejecutaría en las herramientas para desarrolladores. Usaría una plataforma como NodeJS para escribir el bot, y me proporcionaría un acceso preciso sobre la solicitud que realizo. Heck, incluso puedo hacer telnet a su servidor y escribir manualmente un remitente falso. Un usuario malintencionado podría darse cuenta de que todo lo que está buscando es una entrada de referencia de http específica, luego escriba un script para enviar por spam su página de registro y drenar el dinero del texto. Incluso podrían estar en connivencia con un proveedor de texto premium y obtener dinero de usted.

Googles noCaptcha es mucho más complicado de lo que crees. La razón por la que solo marca la casilla y se hace es porque Google ya ha determinado que usted es una persona real. Usan heurísticas muy avanzadas para esto, y tienen en cuenta muchas variables, más de lo que hace su implementación. Su motor de riesgo rastrea cosas como la forma en que mueves el mouse hacia él, cuántos otros captchas completaste, estás constantemente mirando un solo campo de captcha. Si cambia al modo de incógnito o la navegación privada, lo más probable es que le muestren un desafío antes de que pueda marcar la casilla.

En pocas palabras, estás diciendo "no necesito captcha, confío plenamente en que la persona que me habla no miente de dónde viene"

    
respondido por el zzarzzur 21.07.2017 - 00:43
fuente
2
  

¿Se puede usar el valor de referencia de http para detener los bots de spam?

No, porque el referente es solo un encabezado y es fácilmente falsificado por un bot.

  

Me di cuenta de que la característica noCaptcha de Google con la casilla de verificación simple tiene muchas cosas geniales.

En realidad no es una casilla de verificación, es un DIV con algunas superposiciones.

  

Pero la característica más importante que tiene es que solo acepta solicitudes de las direcciones IP o el nombre de dominio que designes.

No estoy seguro de cómo "notaste" esto. ¿Encontraste eso en un documento? Porque no es nada extraordinario; puede configurar fácilmente una lista blanca de IP de su propio uso solo IIS-- no se requiere noCaptcha.

  

¿Por qué no se necesita usar noCaptcha?

Es un motor de riesgo sofisticado con pasos de escalamiento condicional. Detalles . Dudo que efectivamente puedas recrear esto tú mismo.

    
respondido por el John Wu 19.07.2017 - 03:01
fuente

Lea otras preguntas en las etiquetas