Zugriffskontrolle mittels .htaccess

Die Funktionsweise von .htaccess-Anweisungen

.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.

Passwort-Schutz für Dateien und Verzeichnisse

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.

Erstellen der Passwort-Datei über die Shell

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

Nutzen von Online-Tools zur Erstellung einer .Htpasswd-Datei

Sollte keine Shell zur Verfügung stehen, so bietet die GWDG eine Möglichkeit zur Erstellung einer .htpasswd-Datei:

htaccess/htpasswd-Generator

Beispiel:

username:laA94KcLcE53

Zugriff auf IP-Adressen oder IP-Bereiche beschränken

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
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information