Spam Bots und böse Crawler per .htaccess blocken

Kategorie: Hilfreich 8 Kommentare,


Wenn man den Serverlogs glauben darf, dann greifen eine Menge Bots, Crawler und sonstige Tools auf die eigenen Webseiten zu, meist mit fragwürdigem Hintergrund. Natürlich freut man sich über das mehrmals tägliche Anklopfen des Google oder Bing Bots, aber viele (und ich meine echt viele) andere Crawler tragen nicht wirklich zur besseren Erreichbarkeit der eigenen Seiten bei.

Quelle – Grundlagen

Darum bin ich bei gegangen und sperre per .htaccess Datei zumindest die Bots aus, welche an Hand des User Agents erkennbar sind. Ich hatte mit dieser „Bad Bots“ Liste angefangen und erweitere die Einträge je nach Logauswertung bzw. 404 Error Reports.

htaccess

Voraussetzung: Apache Webserver mit aktiviertem mod_rewrite Modul
(die meisten Webserver laufen auf dieser Grundlage)

Sofern noch nicht vorhanden, muss eine .htaccess Datei im Webroot der Internetseite erstellt werden. Als erstes dann die nachfolgende Liste einfügen und danach dann weitere Anweisungen, z.B. die eines WordPress Blogs. Wird nun ein User Agent an Hand der Suchmuster erkannt, erfolgt eine direkte 403 Forbidden Ausgabe und die Anfrage an den Server wird beendet.

[php]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^aipbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bloggsi [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^CHATCATCHER [OR]
RewriteCond %{HTTP_USER_AGENT} ^CopyRightCheck [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^grub [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^HTTP://WWW.RELEVANTNOISE.COM [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^Java [OR]
RewriteCond %{HTTP_USER_AGENT} ^JAVA [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^looksmart [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^LMSPIDER [OR]
RewriteCond %{HTTP_USER_AGENT} ^lmspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^MoreOverBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetMechanic [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^PYTHON-URLLIB [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SHELOB [OR]
RewriteCond %{HTTP_USER_AGENT} ^SIMILARPAGES [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SphereScout [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^thesubot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebBandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^weneo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^YANDEX [OR]
RewriteCond %{HTTP_USER_AGENT} ^YandexBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* – [F,L]
</IfModule>
[/php]

Verbesserungen

Bestimmt kann man an der Liste noch einiges verbessern und ergänzen. Über Kommentare würde ich mich natürlich freuen :)

Was sind deine Erfahrungen bzw. Empfehlungen?
Gibt es bestimmte IP-Bereiche oder weitere Möglichkeiten bekannte Spamer/Bad Bots auszusperren?

Attribution: Boo-Boo Bot picture by Jenn and Tony Bot

Bisher 8 Antworten zu “Spam Bots und böse Crawler per .htaccess blocken”

  1. niklasR says:

    Du blockst Zugriffe per wget? Sogar ich benutze das manchmal, um per NAS hier ein bisschen hinter der Mauer zu surfen…

  2. Karsten says:

    An Firmen- bzw. Schul-Firewalls habe ich dabei noch gar nicht gedacht, da ja normal kein Seitenbesucher die Seite per wget erstmal downloaden will (^^);

  3. Schnuecks says:

    Habe meine Joomla Installation hiermit geschützt.
    Für Gästebücher und anderes wo sich Bots gern tummeln.

    http://www.phishmail.de/2009/02/apache-mit-geoip-module/
    mittlerweile gibt es aktuellere Versionen 1.4.8 ist die aktuelle.

    Habe es testweise mal so eingestellt das IP’s aus RU CH BR JP geblockt werden und danach ist bis heute nicht mehr ein Spam in einem der Gästebücher aufgetaucht, was mir sagt das dies auch eine gute Möglichkeit ist.

    LG

    Schnuecks

  4. Karsten says:

    @Schnuecks: Interessanter Ansatz, den ich bisher so noch nicht kannte. Habe ich gleich mal gebookmarked :)

  5. 3 Dateien die Ihre Webseite einfach verbessern · Lorem Ipsum Ges.m.b.H. says:

    […] Methode jedoch nicht, hierfür müsste man separate Einstellungen des Webservers vornehmen (z.B.: via .htaccess bei einem Apache Webserver).Speicherort und Nutzung der Robots.txtDie Robots.txt liegt immer im […]

  6. Bachsau says:

    Finde ich aus Prinzip nicht okay. Öffentliche Internet-Inhalte sollten für Jeden, egal ob Mensch oder Maschine, in der gleichen Weise abrufbar und zugänglich sein. Dazu gehört auch, dass ich nicht frage: „Wo kommst du her?“, oder: „Was willst du damit?“. Solange ein Bot es nicht darauf anlegt, meinen Server über Gebühr zu belasten, oder eindeutig feindliche Absichten hegt (e-mail harvester), kann er meinetwegen tun, was ihm beliebt. Die wirklich „bösen“ Bots tarnen sich eh als Browser, und die ganzen mod_rewrite-Regeln bei jeder Anfrage durchzuackern frisst vermutlich mehr Leistung, als die Seite auszuliefern. ;)

    Kurzum: Ich halte so ein Vorgehen für absoluten Blödsinn.

  7. g2-73251c6bdd20a88688801fd47efad101 says:

    Ich würde empfehlen, insofern man einen Blog, oder Dokuwiki etc. auf der Page betreibt, auch pixray dazu zu nehmen. Beim mir hat er beim dokuwiki > 23% WebRequests erzeugt.
    Von einem Logfile, welches 5788 Zeilen lang war, hat er sage und schreibe 1340 Zeilen für seine Anfragen belegt.

  8. Tom says:

    Wieso sollte man den Yandex Bot blocken wollen?

Kommentar verfassen