2010-08-13 9 views
7

Ich habe eine ASP.Net 4-Website. Ich zähle Besucher im Hintergrund, aber mein Code zählt auch die Bots der Suchmaschinen. Wie kann ich verstehen, dass mein Client ein Bot oder Mensch ist? Ich will keine Bots zählen.ASP.NET zählt Besucher, nicht Bots

Grüße

+0

Kleben Sie einen Link unten auf eine der Seiten, die niemand im Kopf haben möchte - abgesehen von einem Bot. :) –

+0

Aber was ist, wenn Ihre Website zu diesen Links gehört? :-p – LesterDove

Antwort

4

Sie können die Eigenschaft Crawler von Request.Browser verwenden, um Suchmaschinen-Bots zu filtern.

+0

Ich muss das überprüfen. D'Oh! – LesterDove

+0

Dies ist nur hilfreich, wenn Sie die eingehenden Anfragen aufzeichnen, anstatt Protokolle zu analysieren oder anderweitig nach der Tat zu überprüfen. Ansonsten eine gute Idee. – cHao

+0

Hallo, Ich habe diese Methode versucht, aber es hat nicht für mich funktioniert. Hast du eine andere Idee? Mein Code ist so. if (! NewSession) zurückgeben; if (Request.Browser.Crawler) zurückgeben; UpdateVisitorCounters(); – user348357

0

Sie könnten der User Agent überprüfen und dann für den Typ aussehen R, die ein Roboter oder Crawler.

Weitere Informationen finden Sie unter http://www.user-agents.org.

Ich bin mir sicher, dass es Fälle gibt, in denen die Bots den Standards nicht folgen und Sie möglicherweise eins davon haben müssen.

0

Ihre beste Wette wahrscheinlich prüft der User-Agent des Clients:

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

Es kann sogar eine schnelle kleine Bibliothek da draußen für .NET mit einer Menge von bekannten Benutzeragenten oder gute regexps zu verwenden . Beachten Sie, dass einige Bots gefälschte Benutzer-Agents senden, damit sie aussehen, als ob sie Leute wären, manche Leute Browser könnten leere oder unbekannte Benutzer-Agents usw. senden. Aber diese Fälle sollten selten sein. In den meisten Fällen sollte das ziemlich gute Statistiken liefern.

0

Sie können versuchen, die User Agent in der Nachrichtenkopfzeile für Starter zu überprüfen. Ein böswilliger Bot wird das jedoch fälschen. Ein arbeitsintensiverer Ansatz besteht darin, Ihre IP-Besuche programmatisch zu protokollieren (in den Web-Protokolldateien zu suchen oder selbst zu sammeln) und zu ermitteln, welche von ihnen Bots sind, basierend auf Häufigkeit der Besuche usw. Ein ziemliches Katz-und-Maus-Spiel .