htaccess: Nur mit meiner IP oder Passwort…

16. Januar 2010 at 10:00

Die meisten Webmaster kennen die Möglichkeit, ein Verzeichnis mit Hilfe einer .htaccess zu schützen, so dass der Zugriff nur per Passwort möglich ist (Auth).

Gerade in Intranets oder bei Tests ist es auch oft gebräuchlich, nur bestimmte IP-Bereiche mit Allow und Deny zu erlauben oder zu verbieten. So kann man schnell bestimmte Störer einfach sperren.  Oder bei Tests mit dem neuen Design mal kurz nur den eigenen PC oder das Büro freischalten.

Genauso einfach jedoch weniger bekannt ist die Kombination aus beidem: Man gibt bestimmte Bereiche (z.B. das Entwicklerbüro) anhand der IP-Adresse frei und erlaubt allen anderen den Zugang nur per Passwort. So läßt sich die Entwicklung ohne Klimmzüge wie im Live-Betrieb testen, eingeladene Tester von unbekannten IP-Adressen können die Seite mit einem Passwort vorab sehen und alle anderen bleiben aussen vor.

# HTTP Basic Access Authentication
AuthType Basic
AuthName "Dieser Bereich ist passwortgeschuetzt. [www.butschek.de]"
AuthUserFile /path/to/your/.htpasswd
require valid-user

# Erlaube einige IP-Bereichen (10.1.75.x sowie 192.168.x.x)
# und verbiete alle anderen Anfragen
Order deny,allow
Deny from all
Allow from 10.1.75.
Allow from 192.168.

# Nur EINE der Bedingungen oben muss erfuellt sein.
Satisfy ANY

Der Aufbau der .htaccess Datei ist einfach: Zuerst kommt die übliche Sperre für den Passwortschutz. Danach folgt die IP-Sperre. Zuletzt legt die Satisfy-Regel fest, dass nicht alle (=ALL) sondern nur irgendeine (=ANY) der obenstehenden Regeln zutreffen muss, um den Zugriff zu erlauben.