Bots mittels User Agent blockieren
In meinem Blogbeitrag “Spam-Schutz auf Webseiten-Infos.de” hatte ich auch ein Beispiel für einen von mir geblockten User-Agent gebracht.
Zwar bin ich ein Laie in Sachen Administration eines Apache-Servers, aber soviel habe ich mitbekommen:
Bots (Robots, Webcrawler), die sich nicht an die robots.txt halten, kann man guten Gewissens von der Website aussperren.
Hier mein aktuelles Praxisbeispiel:
In den Logdaten meiner chCounter-Installation auf Webseiten-Infos.de tauchte sehr häufig der Crawler 80legs mit folgendem User Agent, aber ständig wechselnden IP-Adressen und Hosts auf:
1 2 3 | Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html;) Gecko/2008032620 |
Ich überprüfte die im User Agent enthaltene Website http://www.80legs.com/spider.html. Danach handelte es sich um einen Webcrawler und nach den FAQ hierzu sollte ein Ausschluss des Crawlers in der robots.txt beachtet werden:
1 2 | User-agent: 008 Disallow: / |
Wie ich aber den Logdaten von chCounter entnehmen konnte, war dem aber leider nicht so. Auch nach dieser Ergänzung der robots.txt tauchten viele Logdaten mit diesem User Agent auf.
Nun war ich mir sicher, dass es sich um einen sogenannten ungezogenen Jungen (bad guy) handelte, sprich einen Bot (Robot, Webcrawler), der nur vorgibt zu 80legs zu gehören. Also wollte und konnte ich diesen Bot (Robot, Webcrawler) ohne schlechtes Gewissen blockieren.
Das Aussperren dieses Bots (Robots, Webcrawlers) von Webseiten-Infos.de gelang mir mit folgender Ergänzung der .htaccess auf meinem Webspace:
1 2 3 4 5 6 7 | SetEnvIfNoCase User-Agent "Mozilla/5\.0 \(compatible; 008/0\.83; http\://www\.80legs\.com/spider\.html;\)" bad_bot <Limit GET POST PUT HEAD> order allow,deny allow from all deny from env=bad_bot </Limit> |
Wie oben schon erwähnt, bin ich kein Experte für den Webserver Apache. Leider fand ich im Netz (Web) auch keine gut lesbaren Einsteigerinfos zur richtigen Schreibweise von solchen Einträgen in der .htaccess. Ich dachte mir lediglich, dass es wohl erforderlich sein dürfte, alle Zeichen, die keine Buchstaben oder Schrägstrich (Slash) sind, durch einen sogenannten umgekehrten Schrägstrich (Backslash) zu maskieren.
Darüber hinaus dachte ich mir, dass es nichts schaden könnte, wenn ich die Funktionsfähigkeit dieser Ergänzung der .htaccess testen könnte.
Und tatsächlich: Das geht mittels dem Firefox-Addon User Agent Switcher 0.7.2.
Dieses Addon kann auch um beliebige User Agents ergänzt werden. Ich habe bei mir das Addon User Agent Switcher 0.7.2 um oben genannten User-Agent ergänzt und dann meinen Firefox auf diesen User Agent umgestellt. Ein Neuladen der Webseite Webseiten-Infos.de führte dann zu folgender Meldung:
Forbidden
You don’t have permission to access / on this server.
Mit den anderen User Agents für die gängigen Browser lässt sich dagegen die Website Webseiten-Infos.de problemlos aufrufen.
Seitdem ich die .htaccess entsprechend ergänzt habe, finden sich in den Logdaten auch keine neuen Zugriffe mit diesem User Agent mehr.
Die Aussperrung dieses User Agent scheint also zu funktionieren.
Solltest Du Anmerkungen oder Verbesserungsvorschläge haben, dann nur her damit.

1. Thomas Scholz
Kommentar vom 11. März 2010 um 02:58
Was für Spam hat der denn hinterlassen?
2. Dieter
Kommentar vom 11. März 2010 um 07:08
Ich sollte so spät nachts keine Blogbeiträge schreiben.
Du hast mal wieder den Nagel auf den Kopf getroffen.
Die einzige von mir beobachtete Aktivität des Bots war die Mißachtung der robots.txt.
Er war mir mit seinen weiterhin extrem häufigen Zugriffen auf meine Webseiten, die mir die Besucherstatistik verfälschen und Serverressourcen verbrauchen, lediglich suspekt. Werde den Titel des Blogbeitrags gleich mal korrigieren.
Danke für den Gedankenschupser!