[botdetection] Bot Erkennung
Hallo.
Bot Detection dient als Hilfsklasse für andere Extensions (Frontend) die erkennen müssen, ob der Zugriff von Mensch oder Maschine erfolgt :D
Eine sichere Erkennung gibt es dabei natürlich nicht.
Es wird über 2 Verfahren versucht dieses zu erkennen:
- User Agent Kennung
- IP Adresse
Erste Version beinhaltet eine Methode für die Agent (BD_CheckBotAgent) und eine für die IP Erkennung (BD_CheckBotIP).
Ein Test ist beigefügt für den direkten Aufruf:
Code:
http://deine-domain.de/system/modules/botdetection/test/ModuleBotDetectionTest.php
Damit wird auch gezeigt wie das Modul verwendbar wäre, für PHP Dateien die direkt aufrufbar sind wie z.B. cron.php oder banner_clicks.php vom Modul Banner.
Desweiteren sind 2 Frontend Module als Demo für die Implementierung in eigene Module beigefügt.
Mein Banner Modul habe ich bereits in meiner Testumgebung erfolgreich darauf angepasst, Visitors wird folgen. Läuft beides wird dieses dann auch entsprechend veröffentlicht.
Zur Zeit geben die beiden Methoden True oder False zurück. (True = Bot)
Ab Version 0.2.0 kam eine neue Methode (BD_CheckBotAgentAdvanced) dazu, die über eine externe Konfigurationsdatei die Erkennnug über User Agent durchführt und als Ergebnis den Kurznamen des Bots zurückgibt bzw. "false", wenn keine Erkennung erfolgte.
Im ER ist das Modul hier zu finden.
Wünsche, Fehlermeldungen, Korrekturen hier oder direkt ins Ticketsystem.
Beschreibung im Wiki wird noch ergänzt.
Testen tue ich das ganze übrigens mit dem Firefox Add-on "User Agent Switcher", cool so als Googlebot unterwegs zu sein :cool:
[botdetection] Bot Erkennung , Version 0.2.0 beta1
So, nun ist eine weitere Version im ER gelandet. (Links siehe ersten Beitrag)
Wie angedroht, wurde die Methode BD_CheckBot umbenannt in BD_CheckBotAgent.
Eine neue Methode BD_CheckBotAgentAdvanced kam hinzu, die über eine externe Konfigurationsdatei die Erkennung über User Agent durchführt und als Ergebnis den Kurznamen des Bots zurückgibt bzw. "false" wenn keiner Erkennung erfolgte.
Derzeit sind 857 Kennungen registriert.
Die ersten beiden Methoden, BD_CheckBotAgent und BD_CheckBotIP, geben im Vergleich dazu nur "true" oder "false" zurück.
Liste der Anhänge anzeigen (Anzahl: 1)
So, die Test Datei habe ich ein wenig gefärbt, nun erkenne ich besser welche Bots erkannt werden und welche nicht. Die roten sind hier wie gesagt die beiden die derzeit nicht erkannt werden von der Advanced Methode.
Es gibt auch nur noch eine Stelle darin, wo die Agent Strings definiert werden.
Einfach ne Zeile anhängen und schon wird es doppelt geprüft.
Anhang 1766
Ich werde als zweite Demo ein Frontend Modul bauen mit einem Formular, darin kann man einen Agent String übergeben und prüfen lassen. Ist zwar mehr für mich gedacht, aber sicherlich auch sinnvoll für andere die selber in die access.log schauen und wissen wollen ob da was erkannt werden würde.
Nachtrag: Beide Demos sind auch auf der Projekt Homepage zu finden.
[botdetection] Bot Erkennung , Version 1.0.0 stable
So, nachdem ich eine Weile damit gearbeitet habe, hab ich das nun in den Status 1.0.0 stable gehoben.
Da mein "Fang Script" noch einige Bots gefunden hat, die durch den Drittanbieter nicht erkannt wurden, habe ich diese selbst noch hinzugefügt:
- TrueKnowledgeBot
- ptd-crawler bixolabs.com
- Spock Crawler
- NetStudyBot
- BotOnParade
- Taptubot
[botdetection] Bot Erkennung , Version 1.0.1 stable
Im Update sind nur neue Bots in der Erkennnung aufgenommen worden:
- nodestackbot
- obot
- yacybot
- Search17Bot
- Cityreview Robot
[botdetection] Bot Erkennung, Version 1.0.4 stable
Mittlerweile sind wieder einige neue dazugekommen seit 1.0.1:
- (bot; http://) , in BD_CheckBotAgentAdvanced: "No-Name-Bot"
- S2Bot
- Rassler
- Caret Byte
- O'Reilly Link Checker
- Semager
- CligooRobot
- gonzo / suchen.de
- LexxeBot
- Java/1.6
- SemtoBot
- Ruky-Roboter
- SheenBot
- Google-Site-Verification
- Microsoft URL Control (Harvester!)
[botdetection] Bot Erkennung, Version 1.0.6 stable
Mittlerweile sind wieder einige neue dazugekommen seit 1.0.4:
- AppEngine-Google
- mxbot
- StatoolsBot
- BixoLabs Crawler
- Huaweisymantecspider
- TwengaBot
[botdetection] Bot Erkennung, Version 1.1.1 stable
Mittlerweile sind wieder einige neue dazugekommen seit 1.1.0:
- Hoge
- Tagoobot
- Bingbot
- Peew Crawler
- FindShare
[botdetection] Bot Erkennung, Version 1.2.0 stable
Neue Bots in Version 1.2.0:
- picmole
- SiteBot
- Yasaklibot
- Dropcatcher
Außerdem wurde eine aktuelle browscap.ini für die Basis der Bot Datenbank verwendet.
[botdetection] Bot Erkennung, Version 1.2.1 stable
Neue Bots in Version 1.2.1:
- adressendeutschland.de
- DoCoM
- CMS Crawler
- GetWeb
- NetSpider
- Rippers
- HTTrack
- NetAnts
- Website eXtractor
- WebWhacker
[botdetection] Bot Erkennung, Version 1.2.2 stable
Neue Bots in Version 1.2.2:
- Purebot
- Spinn3r
- suggybot
- Ezooms