Möchte man auf dem Webserver ein Verzeichnis mit Passwort schützen, braucht man zwei Dateien in dem zu schützenden Ordner: Die Datei “.htaccess”, die unter anderem den Zugriff auf den Ordner regelt, und die Datei “.htpasswd”: In dieser Datei stehen die Benutzernamen und Passwörter der Nutzer, die Zugriff auf den Ordner haben sollen.
Tipp: So findet man sichere Passwörter!
Tipp: Nur einzelne Dateien schützen, z.B. wp-login.php
Die Benutzernamen und Passwörter müssen allerdings verschlüsselt angegeben werden: Am einfachsten geht das zum Beispiel mit einem Online-Dienst wie aspirine.org. Hier gibt man auf der linken Seite den Benutzernamen und ein Passwort ein, mit einem Leerzeichen getrennt. Anschließend klickt man rechts auf “Generate htpasswd content”, um den Inhalt der Passwort-Datei zu erstellen.
Diese speichert man anschließend als Textdatei mit dem Namen “.htpasswd” auf dem Webserver in dem Verzeichnis, das man schützen möchte.
Neben der .htpasswd mit den Zugangsdaten braucht man ebenfalls in dem gleichen Verzeichnis noch die Datei “.htaccess”, die unter anderem den Zugriff regelt, aber auch Weiterleitungen und die 404 Fehlerseiten des Servers definiert. Existiert in dem zu schützenden Verzeichnis noch keine “.htaccess” Datei, kann man sie einfach als normale Textdatei anlegen und hinein kopieren – anderenfalls ergänzt man die vorhandene Datei am Ende um diese Zeilen:
# ******************************************
# Schutz des Verzeichnisses ****************
AuthType Basic
AuthName "Admin Bereich"
AuthUserFile /var/www/html/blog/.htpasswd
Require valid-user
# Zugriff auf Server-Dateien verbieten *****
<FilesMatch "(\.htaccess|\.htpasswd)">
Require all denied
</FilesMatch>
# ******************** computerhilfen.de ***
Damit wird das aktuelle Verzeichnis mit einer Passwort-Abfrage geschützt – außerdem werden die beiden wichtigen Dateien “.htaccess” und “.htpasswd” nicht mehr ausgeliefert.
Damit alles funktioniert, muss allerdings der Pfad zu der “.htpasswd” Datei richtig angegeben werden. Das muss absolut auf der Datei-Ebene des Servers, nicht nur relativ passieren. Um den richtigen Dateipfad zu bekommen, kann man unser Skript “wo-bin-ich.php” in den gleichen zu schützenden Ordner kopieren und über den Browser aufrufen. Nachdem man den Pfad kopiert hat, kann man das Skript wieder löschen!