2009-01-10 14 views

Respuesta

11

he sido feliz los resultados suministrados por los Ocean's Browsercaps. Admite rastreadores que los archivos de configuración de Microsoft no se han molestado en detectar. Incluso analizará qué versión del rastreador está en su sitio, no es que realmente necesite ese nivel de detalle.

+0

¡Agradable! Yo lo comprobare. –

+0

Gracias por señalar a Ocean's: hace un tiempo que tengo un conjunto muy antiguo de BrowserCaps en nuestros sitios 1.1. –

6

Puede marcar (regex) contra Request.UserAgent.

Peter Bromberg escribió un buen artículo sobre cómo escribir un ASP.NET Request Logger and Crawler Killer en ASP.NET.

Aquí es el método que utiliza en su clase Logger:

public static bool IsCrawler(HttpRequest request) 
{ 
    // set next line to "bool isCrawler = false; to use this to deny certain bots 
    bool isCrawler = request.Browser.Crawler; 
    // Microsoft doesn't properly detect several crawlers 
    if (!isCrawler) 
    { 
     // put any additional known crawlers in the Regex below 
     // you can also use this list to deny certain bots instead, if desired: 
     // just set bool isCrawler = false; for first line in method 
     // and only have the ones you want to deny in the following Regex list 
     Regex regEx = new Regex("Slurp|slurp|ask|Ask|Teoma|teoma"); 
     isCrawler = regEx.Match(request.UserAgent).Success; 
    } 
    return isCrawler; 
} 
+6

Advertencia: ¡esto * no * es infalible! Si instala ciertas versiones de la barra de herramientas de Ask.com (al menos en IE), modificará el agente de usuario para incluir 'Preguntar' de alguna forma, lo que generará falsos positivos. –