Schnellzugriff » 
Home 
» Kategorien

» Seiten

» Suche
« PHP cachen mit APC Apache: mod_rewrite Rewrite Rules Tutorial »

Apache: Bots (UserAgent / IP) aussperren per .htaccess

Ein Anonymizerservice von einem Freund und mir wurde vor kurzem von Bots u.a. für Trackback-Spam missbraucht. Was passiert war lag auf der Hand – 8 Trafficlimit Mails an einem Tag (ich hab mal ein tägliches Limit von 30GB vorgegeben). In den Logs wurden die schuldigen schnell gefunden.

Aber wie lassen sich Bots aussperren? Beim Apache Webserver funktioniert dies relativ leicht: in der Datei des jeweiligen VHosts bzw. in der httpd.conf / apache2.conf oder alternativ in der .htaccess Datei können Regeln aufgestellt werden, die Hosts anhand bestimmter Kriterien ausschließen. Zur Demonstration:

Folgender Eintrag in einer .htaccess Datei bewirkt, dass die Hosts mit den IP-Adressen 69.50.160.50 und 64.28.177.122 nicht mehr auf Inhalte des Apache zugreifen können:

order deny,allow
deny from 69.50.160.50
deny from 64.28.177.122

Folgende Einträge schließen alle Clients, die den UserAgent TrackBack/1.02 oder einen UserAgent, der mit “Java” beginnt haben (ein Bot mit dem UserAgent TrackBack/1.02 sorgte für Trackback-Spam und diverse Bots mit dem UserAgent Java hatten ganz offensichtlich auch nichts gutes vor), von dem Zugriff auf Inhalte des Apache aus:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Java
RewriteRule ^.*$ - [F]
RewriteCond %{HTTP_USER_AGENT} TrackBack/1.02
RewriteRule ^.*$ - [F]

Wer mehr über die dynamisch wirkenden RewriteConditions wissen möchte sollte sich mit regulären Ausdrücken beschäftigen.

Mittwoch, Dezember 20th, 2006 and is filed under Webserver. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

6 Responses to “Apache: Bots (UserAgent / IP) aussperren per .htaccess”

  1. Alexander Langer » Trackback-Spambots erzeugen Unmengen an Traffic Says:
    März 2nd, 2007 at 12:11

    [...] Von einer relativ hohen Anzahl verschiedener Server werden in relativ kurzen Zeiträumen Unmengen an HTTP-Requests an meinen Webserver gestellt. Ziel dieser Requests ist das Absenden von Trackback-Spam-Einträgen in mein Weblog, denn die Anfragen sind POST-Requests und zielen stets auf Trackback-Adressen der Artikel. Das Problem des Trackback-Spam als solches ist nicht neu und es gibt vielerorts im Web Tipps, wie man ihn unterbinden kann, allerdings verhindern sie nur den Eintrag ins Weblog, nicht aber die Anfrage. [...]

  2. felixtriller.de » fuck the spammers Says:
    März 4th, 2007 at 14:31

    [...] Da die ganze Trackbackscheiße natürlich auch Traffic verbraucht habe ich noch mal ein bisschen nachgeforscht. Die Trackbacks scheinen von einem Programm, dass sich als “TrackBack/1.02″ ausgibt. Also warum nicht einfach diesen Useragent aussperren? Mit google hab ich dann diesen Blogeintrag gefunden. Also folgendes in die .htacces-Datei: [...]

  3. Johann (1 comments) Says:
    Dezember 22nd, 2007 at 21:14

    Danke für den Tip. Ich hab zwar lighttpd im Einsatz, aber müßte auch eigentlich wissen, wie es mit Apache geht :-)

  4. 30.000 Seitenaufrufe in 7 Tagen!? « Online-Werbung, Technik « Selbständig im Netz Says:
    Januar 15th, 2008 at 12:57

    [...] kann in einer htaccess-Datei eine Liste der Bots eingeben, denen der Zugriff auf die Website verweigert werden [...]

  5. prominetz (1 comments) Says:
    Januar 25th, 2008 at 09:23

    Gibt es eine Möglichkeit ausschließlich den Google-Bot zu identifizieren?
    Den Rest könnte man ja aussperren.

  6. kcore (14 comments) Says:
    Januar 29th, 2008 at 23:25

    Rein theoretisch könntest du per default alle Useragents sperren und dann eine von dir definierte Liste von Useragents “freischalten”. Wär aber eine äußerst bescheidene Lösung, u.a. weil die Wahrscheinlichkeit was zu vergessen ist zu groß ist und du musst sicherlich andauernd irgendwas nachtragen…


© 2007 - 2009 Thorsten Boock