Passwortschutz für Webseiten

Aus schokokeks.org Wiki
Wechseln zu: Navigation, Suche

Wenn Sie eine Webseite (oder gleichermaßen auch nur ein Unterverzeichnis einer Webseite) durch Passwörter schützen wollen, können Sie das über die verbreitete .htaccess-Methode erreichen.

Passwörter einrichten

Je nach Anforderung kann eine zentrale Passwort-Datei für alle Ihre Webseiten oder mehrere unterschiedliche Passwort-Dateien sinnvoll sein. Beachten Sie bitte, dass der Webserver (System-Benutzer apache) die Datei lesen muss und daher entsprechende Zugriffsrechte braucht.

Eine Passwort-Datei erstellen Sie z.B. mit dem System-Programm htpasswd.

Möchten Sie z.B. ein Passwort für den Benutzer bernd zentral in der Datei /home/bernd/websites/passwoerter hinterlegen, so benutzen Sie diesen Befehl:

htpasswd -B -c -s /home/bernd/websites/passwoerter bernd

Nach Aufruf des Kommandos werden Sie nach dem entsprechenden Passwort gefragt.

Später können Sie beliebig viele neue Benutzer-Passwörter hinzufügen, in dem Sie die Option -c weg lassen:

htpasswd -B -s /home/bernd/websites/passwoerter neuerbenutzer

Der Parameter "-B" wählt das bcrypt-Verfahren zum Hashen des Passworts. Dieses Verfahren bietet eine höhere Sicherheit als das Standardverfahren, daher empfehlen wir, diesen Parameter zu nutzen.

Verzeichnisse schützen

Um mit diesen Passwörtern ein Verzeichnis zu schützen, brauchen Sie zusätzlich noch eine Datei mit dem Namen .htaccess, die Sie genau dort speichern, wo der Schutz beginnen soll.

Legen Sie diese Datei z.B. nach ~/websites/, so sind alle Ihre Seiten auf einmal passwortgeschützt. Befindet sich diese Datei aber z.B. in /home/bernd/websites/bernd-wurst.de/htdocs/files, so ist nur die Adresse http://bernd-wurst.de/files durch ein Passwort geschützt.

Der Inhalt der Datei sieht wie folgt aus:

AuthType Basic
AuthName "Der Zugriff ist Passwortgeschützt!"
AuthUserFile /home/bernd/websites/passwoerter
require valid-user

Dabei können Sie den Text hinter AuthName beliebig wählen. Der Pfad zur Passwort-Datei (bei AuthUserFile) muss exakt und mit vollständigem Pfad angegeben werden.