.htaccess - Aussperren Teil 1
1. Die Abschnitte
- Einführung
- mod_rewrite Teil 1
- mod_rewrite Teil 2
- mod_rewrite Teil 3
- mod_rewrite Teil 4
- Weiterleitungen
- Aussperren Teil 1
- Aussperren Teil 2
- Zugriffsschutz Teil 1
- Zugriffsschutz Teil 2
- PHP-Einstellungen Teil 1
- PHP-Einstellungen Teil 2
- Fazit
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