.htaccess-Dateien sind versteckte Dateien, welche seitens des Apache-Webservers vor dem eigentlichen Seitenaufruf verarbeitet werden. Die hier hinterlegten Anweisungen können, je nach Serverkonfiguration, das Verhalten des Webservers maßgeblich verändern; so können .htaccess-Dateien unter anderem ein Rewriting mittels mod_rewrite definieren, aber auch Anweisungen zum Caching (Expires) geben.
Innerhalb des Dokumentenstammverzeichnisses (Beispiel: /web/username/www/subscriptionname
) des betreffenden Webspace-Abonnements kann eine .htaccess-Datei angelegt werden, um den Zugriff auf eine Datei oder den gesamten Ordner einzuschränken.
Hierfür kann eine vorbereitete .htaccess-Datei per SFTP hochgeladen werden.
Beispiel:
AuthName "Protected Directory" AuthType Basic AuthUserFile /web/username/files/.htpasswd require valid-user
Nach der Erstellung der .htaccess-Datei kann in einem durch den Browser nicht erreichbaren Verzeichnis, beispielsweise dem files
-Verzeichnis, eine Datei angelegt werden, welche die eigentlichen Authentifizierungsinformationen enthält. In diesem Beispiel wird diese Datei .htpasswd
genannt.
Unter Linux-basierenden Systemen kann der Passwort-Hash bequem über die Shell generiert werden.
htpasswd -c .htpasswd username
Die Routine erfragt ein gewünschtes Passwort für den hier angegebenen Nutzer username
; dieses Passwort wird nun in der Datei .htpasswd
in Form eines Hashes gespeichert.
Unter login.gwdg.de weicht der Befehl leicht vom Standard ab:
htpasswd2 -c .htpasswd username
Beispiel:
username:laA94KcLcE53
Sollte keine Shell zur Verfügung stehen, so bietet die GWDG eine Möglichkeit zur Erstellung einer .htpasswd
-Datei:
Beispiel:
username:laA94KcLcE53
Um den Zugriff auf eine bestimmte IP-Adresse oder einen IP-Bereich zu beschränken, kann dem Apache-Webserver eine entsprechende Anweisung gegeben werden:
Beispiel (einzelne IP/Apache 2.2):
order deny,allow deny from all allow from 123.123.123.123
Beispiel (IP-Bereich/Apache 2.2)
order deny,allow deny from all allow from 123.123.123.0/24
Beispiel (einzelne IP/Apache 2.4)
Require ip 123.123.123.123