2010-05-05 8 views
13

Tenemos una situación en la que registramos visitas y los visitantes en los hits de la página y los bots están obstruyendo nuestra base de datos. No podemos usar captcha u otras técnicas como esa porque esto es antes de que solicitemos la participación humana, básicamente estamos registrando hits de páginas y nos gustaría solo registrar visitas de páginas por humanos.Cómo detecto bots programáticamente

¿Hay una lista de bot IP conocidos por ahí? ¿Funciona el control de agentes de usuario conocidos?

Respuesta

19

No hay una manera segura de atrapar a todos los bots. Un bot podría actuar como un navegador real si alguien quisiera eso.

Los bots más graves se identifican claramente en la cadena del agente, por lo que con una lista de bots conocidos se puede equipar la mayoría de ellos. A la lista también puede agregar algunas cadenas de agente que algunas bibliotecas HTTP usan de forma predeterminada, para capturar bots de personas que ni siquiera saben cómo cambiar la cadena del agente. Si solo registra las cadenas de visitantes del agente, debería poder elegir las que desea almacenar en la lista.

También puede hacer una "trampa del bot malo" al poner un enlace oculto en su página que conduce a una página que se filtra en su archivo robots.txt. Los bots serios no seguirían el enlace, y los humanos no pueden hacer clic en él, de modo que solo el bot que no siga las reglas solicitará el archivo.

+1

También puede crear un archivo robots.txt para robots de buen comportamiento http://www.robotstxt.org/orig.html –

0

Creo que muchos bots serían identificables por agente de usuario, pero seguramente no todos. Una lista de direcciones IP conocidas. No contaría con eso tampoco.

Un enfoque heurístico podría funcionar. Los Bots suelen ser mucho más rápidos en seguir enlaces que las personas. Tal vez puedas rastrear la IP de cada cliente y detectar la velocidad promedio con la que sigue los enlaces. Si es un rastreador, probablemente siga cada enlace de inmediato (o al menos mucho más rápido que los humanos).

0

no creo que habrá una lista de direcciones IP, direcciones Botnet Botnet IP no es estático, y nadie sabe quiénes son los bots, incluidos los usuarios que se comportan como Bots.

Su pregunta es posiblemente área de investigación caliente en este momento, tengo curiosidad si alguien pudiera dar una solución para ese problema.

Puede utilizar cualquier tipo de técnica y comprender si se trata de un ser humano o no, entonces puede obtener los registros.

0

Ya ha agregado un robots.txt? Si bien esto no resolverá el uso de bots maliciosos, es posible que se sorprenda de la actividad de rastreo legítima que ya está ocurriendo en su sitio.

+0

No estoy seguro de que robots.txt los ayude a registrar visitas reales por separado ... No dijeron que quisieran filtrar completamente los bots. –

Cuestiones relacionadas