Hauptmenü

Untermenü

.htaccess - Aussperren Teil 1

1. Die Abschnitte

2. Unangenehme Zeitgenossen

... gibt es im Internet zuhauf. Meistens sind das irgendwelche Spammer, die einem den Auftritt vollmüllen wollen. Bei mir zum Beispiel gab es mal eine Pornoattacke, wo innerhalb von 30 Sekunden über 100 Aufrufe von Pornoseiten erfolgten. Die haben wohl nach einer Schwachstelle gesucht, um ihren Dreck bei mir abzuladen. Aber die kann man relativ einfach aussperren. Und dazu gibt es zwei Möglichkeiten. Das Beispiel dazu findet ihr im Ordner ausperren. Die index.htm bekommt man also nur zu Gesicht, wenn man zu den "Auserwählten" zählt.

3. SetEnvIf

Das Schema hier so aus. Zuerst kommt die Anweisung und dann die Kennung, also zum Beispiel ein Referer oder ein Browser. Danach folgt ein regulärer Ausdruck, der auf die Kennung zutreffen muss. Und zu guter Letzt wird dann ein Wert gesetzt.


SetEnvIf [Kennung] [regexp] [Wert]

4. Browser aussperren

Nehmen wir mal an, ihr wollt aus Protest alle IE-Nutzer aussperren. Gut, dass ist nicht die feine englische Art, aber ich mal es mal aus Anschauungsgründen.


SetEnvIf User-Agent MSIE pissoff
Order allow,deny
Allow from all
Deny from env=pissoff

Erläuterung

Zuerst setzen wir als Kennung User-Agent, damit dies für Browser gilt. Oder zum Beispiel Bots, denn die senden da auch was. Dann kommt der reguläre Ausdruck MSIE und am Ende setzen wir einen Wert pissoff.

Das eigentliche Aussperren

... kommt dann danach. Zunächst stellen wir eine Reihenfolge für den Zugriff auf. Dabei gibt es zwei Prinzipien.

  • Alles erlauben, was nicht verboten ist (all)
  • Alles verbieten, was nicht erlaubt ist (deny)

Das bedeutet in diesem Fall, dass zuerst alle erlaubten und erst dann die verbotenen Dinge geprüft werden. Dann wird mit Allow from all gesagt, dass hier zunächst mal alle zugreifen dürfen. Und dann verbieten wir den IE-Nutzern den Zugriff mit Deny from env=pissoff.

Feinheiten

Wenn man zum Beispiel nur dem Internet Explorer 6.0 die Tür weisen will, so sollte man den regulären Ausdruck tunlichst in Anführungszeichen setzen. Also so.


SetEnvIf User-Agent "MSIE 6" pissoff

5. Bots aussperren

Will man zum Beispiel Google oder Yahoo davon abhalten, den eigenen Auftritt zu crawlen, so ist das Prinzip dasselbe. Anstelle eines Browsers gibt man nur deren Kennung an. Also so.


SetEnvIf User-Agent googlebot pissoff
SetEnvIf User-Agent BonEcho pissoff

Wichtig

Immer wieder hört man bei diesem Thema etwas von einem ominösen libwww oder libwww-perl. Dabei handelt es sich wohl um eine ziemlich mächtige Protokoll-Bibliothek, die in Perl geschrieben wurde. Und damit kann man ordentlich Mist bauen. Darum empfehlen auch viele, dass man den Zugriff ebenfalls per .htaccess abklemmen sollte.


SetEnvIf User-Agent ^libwww pissoff

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt