Verzeichnisse mit einem Passwort via .htaccess und .htpasswd schützen

   

Wenn du deine komplette Website, ein Verzeichnis, ein Unterverzeichnis oder einzelne Dateien auf deinem Server mit einem Passwort schützen möchtest, kannst du das mit Hilfe einer sogenannten .htaccess- und einer .htpasswd-Datei tun. 

In der .htaccess-Datei legst du die Ordner, Verzeichnisse oder Dateien fest, die mit einem Passwort geschützt werden sollen. Du hinterlegst den Pfad zur .htpasswd-Datei und formulierst die Meldung, die dem Nutzer während der Passwort-Abfrage angezeigt werden soll. In der .htpasswd-Datei werden Nutzernamen sowie die Passwörter festgehalten.

Wenn du beispielsweise deinen Nutzern oder Geschäftspartnern PDF-Dateien mit vertraulichen Produktinformationen zur Verfügung stellen möchtest, ist der Passwortschutz über .htaccess und .htpasswd eine gute Möglichkeit, die Dateien vor einem unbefugten Zugriff zu schützen.

Jetzt geht’s an die Arbeit:

1. Ermittle den absoluten Pfad zu deinem zu schützenden Verzeichnis mit Hilfe eines PHP-Skriptes

Lege eine neue Datei mit einem Texteditor an und kopiere den unten stehenden Code hinein. Speichere die Datei unter Verwendung der Endung .php, zum Beispiel als pfadinfo.php, ab.

<?php
  echo $_SERVER["DOCUMENT_ROOT"]
?> 
PHP

Rufe das Skript über deinen Browser nach dem Schema https://www.deinedomain.de/pfadinfo.php auf. Die Ausgabe sollte in etwa wie folgt aussehen: /kunden/homepages/xxxx/yyyy/htdocs

2. Lege eine .htaccess-Datei an

Wähle ein bestehendes Verzeichnis auf deinem Webserver aus, das geschützt werden soll. Du kannst natürlich auch ein neues Verzeichnis anlegen.

Erstelle mit einem Texteditor deiner Wahl eine Datei. Speichere die neue Datei mit dem Namen.htaccess in das Verzeichnis, das geschützt werden soll.

Schreibe die nachfolgenden Code-Zeilen in deine .htaccess und überschreibe den Pfad mit der absoluten Pfadangabe, die du unter Punkt 1 ermittelt hast. Falls in deinem Ordner bereits eine .htaccess existiert, musst du die vorhandene .htaccess um die nachfolgenden Zeilen ergänzen.

AuthType Basic
AuthName "Passwortabfrage"
AuthUserFile /pfad/zudeinem/zuschützenden/ordner/.htpasswd
Require valid-user
.htaccess

3. Erstelle eine .htpasswd-Datei

Erstelle mit einem Texteditor eine neue Datei. Speicher die neue Datei mit dem Namen .htpasswd in das Verzeichnis, das geschützt werden soll.

Jetzt musst du nur noch den Benutzernamen und das verschlüsselte Passwort in deine .htpasswd schreiben. Du kannst auch mehrere Benutzernamen und Passwörter in die Datei schreiben. Passwörter kannst du z. B. mit Hilfe eines Htpasswd Generators verschlüsseln (md5, sha1,crypt). 

testuser:{SHA}XEYnNF/D4MVXRnLRT5k9m8gUC38=
.htpasswd

Wenn du jetzt eine Datei in deinem geschützten Verzeichnis aufrufst (z. B. www.deinedomain.de/pfad/zudeinem/zuschützenden/ordner/test.pdf), öffnet sich ein Dialogfenster. Ohne Eingabe des korrekten Benutzernamens und des Passwortes, kannst du die Datei nicht mehr öffnen : )

Happy Coding : )

#devslife