Via Bot-Trap - ./deifls-weblog: KLOTH.NET - Trap bad bots in a bot trap
Anhand einer robots.txt lässt sich herausfinden, welche Bots auf sie achten und welche nicht, in dem man in seiner robots.txt ein Verzeichnis mit Disallow markiert und dann zuschaut, welche Bots dieses Verzeichnis dennoch abrufen.
Diese Bots speichert man in einer Datei oder Datenbank und prüft mittels einem dynamischen Seitenelement in allem Seiten, ob der aktuelle Aufruf von einer gelisteten IP oder mit einem gelisteten UA-String* daherkommt. Wenn ja, gibts eine entsprechende Meldung und nicht den eigentlichen Inhalt der aufgerufenen Seite.
Natürlich sollte man die Liste von Zeit zu Zeit überprüfen und dynamisch vergebene IP’s löschen, sonst schließt man vielleicht jetzt gerade den Falschen aus - wenn er jedoch ein böser Bot ist, wird er eh wieder gelistet.
Damit lassen sich prima sich fiese Bots/Botbetreiber identifizieren. Das Blocken der Bots ist dabei natürlich nur eine Option, kein Muss. Vielleicht sollte man, eh man das tatsächlich scharf einsetzt, sowieso nur eine Weile beobachten, um ein Gefühl dafür zu bekommen.
Weiter kann man diese Technik in Kombination mit einer falschen aber existierenden E-Mail-Adresse dazu benutzen, Mail-Harvester zu identifizieren: in dem index.whatever-Dokument im per Disallow gesperrten Verzeichnis setzt man einen mailto:-Link auf diese Adresse und wartet ab. Wenn man Glück hat, sind die Absender-IP’s der Spammails mit denen eines Bots identisch. Wenn nicht, ist das ganze allerdings nutzlos ;-)
*) Das Ausmisten der Liste ist insbesondere in Bezug auf die UA-Strings wichtig. Im Zweifel sendet ein Bot einen korrekten UA-String, d. h. einen UA-String, den ein guter Bot oder ein normaler Browser benutzt.