2010-08-13 22 views
7

Tengo un sitio web ASP.Net 4. Estoy contando visitantes en segundo plano, pero mi código también cuenta con los bots del motor de búsqueda. ¿Cómo puedo entender que mi cliente es un bot o humano? No quiero contar bots.ASP.NET contando visitantes, no bots

Saludos

+0

Coloque un enlace en la parte inferior de una de las páginas que nadie en su sano juicio desearía visitar, aparte de un bot. :) –

+0

Pero, ¿y si su sitio es uno de esos enlaces para empezar? :-p – LesterDove

Respuesta

4

Puede utilizar la propiedad Crawler de Request.Browser para filtrar los robots del motor de búsqueda.

+0

Tengo que verificar esto. D'Oh! – LesterDove

+0

Esto solo será útil si está grabando las solicitudes a medida que ingresan, en lugar de analizar los registros o verificar de otra manera después de los hechos. Aparte de eso, buena idea. – cHao

+0

Hola, Intenté este método pero no funcionó para mí. ¿Tienes otra idea? Mi código es así. if (! NewSession) return; if (Request.Browser.Crawler) return; UpdateVisitorCounters(); – user348357

0

se puede comprobar la User Agent y luego buscar el tipo R que es un robot u orugas.

Consulte http://www.user-agents.org para obtener más información.

Estoy seguro de que hay casos en que los bots no siguen los estándares y es posible que tenga que quitarlos.

0

Su mejor apuesta es, probablemente, comprobando agente de usuario del cliente:

http://support.microsoft.com/kb/306576

Puede haber incluso una pequeña biblioteca rápida que hay para .NET con una gran cantidad de agentes de usuario conocidos o buenas expresiones regulares para utilizar . Tenga en cuenta que algunos bots enviarán agentes de usuario falsos para que parezca que son personas, los navegadores de algunas personas pueden enviar agentes de usuario vacíos o desconocidos, etc. Pero esos casos deberían ser pocos. En su mayor parte esto debería hacerte buenas estadísticas.

0

Puede intentar e inspeccionar el User Agent en el encabezado del mensaje, para empezar. Sin embargo, un bot malicioso falsificará eso. Un enfoque más laborioso es registrar/inspeccionar sus visitas IP programáticamente (busque en los archivos de registro web, o recójalo usted mismo) y trate de deducir cuáles de ellos son bots en función de la frecuencia de visitas, etc. Bastante juego de gato y ratón .