web-dev-qa-db-fra.com

Comment détecter de manière fiable les robots des moteurs de recherche sur le site Web asp.net?

Quel est le meilleur moyen de détecter une activité générée par un bot (clics/visites de page), etc. sur un site Web asp.net? Nous avons un site Web sur lequel nous suivons les pistes générées vers des sites externes, nous suivons l'adresse IP de l'utilisateur qui en génère, mais nous voyons beaucoup de pistes générées par Google et d'autres robots de recherche. Quel est le meilleur moyen de filtrer cette activité? J'ai entendu parler de tests de chaînes d'agent d'utilisateur et de filtrage basés sur des adresses IP connues, toutes deux disponibles sous forme de vidages de données provenant de différentes sources. Je ne sais pas quelle est la meilleure à utiliser.

Je vous remercie.

2
user1081

Comme @Kinopiko l'a dit, les robots, en particulier ceux de haut niveau, comme Google, ou laissant un UserAgent clair.

Je ne sais pas à quoi ressemble votre code, je ne peux donc pas vous dire quoi faire. Pour rechercher l'agent UserAgent dans Asp.Net, vous devez consulter Request.UserAgent dans n'importe quel WebForm, CodeBehind ou contrôleur MVC.

2
Sruly

Désolé, mais je n'ai aucune idée des sites Web asp.net, mais tout moteur de recherche réputé vous enverra une chaîne d'agent utilisateur indiquant qu'il s'agit d'un bot, qui devrait être disponible dans votre fichier journal. Un autre cadeau est qu'ils recherchent /robots.txt.

Mon vérificateur ressemble à ceci (Perl):

sub is_bot
{
    my ($user_agent) = @_;
    if ($user_agent =~
    /msnbot
        |www\.cuil\.com
    |Yahoo!\s+Slurp
    |Googlebot
    |Speedy\sSpider
    |MLBot
    |princeton crawler
    |accelobot
    |crawler\@dotnetdotcom
    |help\.naver\.com
    |GingerCrawler
    |Sosospider
    |www.exabot.com
    |Baiduspider
    |Ask\sJeeves
    |Java\/
    |telehouse\.ru
    |Tagoobot
    |Baypup
    |SimilarPages
    |Spinn3r
    |VoilaBot
    |Yandex
    |Xenu\sLink\sSleuth
    |www\.searchme\.com
    |MJ12bot
    |kilomonkey\.com
    |Mediapartners-Google
    |Sogou\sweb\sspider
    |YoudaoBot
    |seexie\.com
    |Yahoo.*Slurp
    |YahooCacheSystem
    |crawler\@nutch\.biz
    |psbot
    |ia_archiver-web\.archive\.org
    |sbider
    |xrss\.eu
    |scoutjet
        |www\.puritysearch\.net
        |Bing
        |BaiduImagespider
        |baidu\.jp
        |facebookexternalhit
        |ssllabs\.com
        |Python-urllib
        |drupal\.org
        |HTTrack
        |Willow\s+Internet\s+Crawler\s+by\s+Twotrees
    /x) {
    return 1;
    }
    return;
}

Si vous regardez dans le code source d'awstats, vous trouverez quelque chose de mieux que ce qui précède.

0
delete