Verzeichnisschutz via .htaccess & .htpasswd

Websites oder Verzeichnisse (Ressourcen) können mit Hilfe von zwei Dateien (.htaccess und .htpasswd) geschützt werden.

Aufbau der .htaccess

// Anwendung
AuthType Basic
AuthName "Name der Website oder des Verzeichnisses"
AuthUserFile absoluter Pfad zur .htpasswd
Require valid-user
// Beispiel
AuthType Basic
AuthName "cre8ive4ever Joomla Development"
AuthUserFile /var/www/vhosts/joomla.cre8ive4ever.com/httpdocs/.htpasswd
Require valid-user

AuthName "Ressource"
Anstelle von „Ressource“ kann ein beliebiger Begriff gewählt werden. Dieser erscheint beim Aufruf der Ressource in einem Popup.

Abb. 1
htaccess-htpasswd-authentifizierung-erforderlich

Require valid-user
Alle validen (gültigen) Benutzer dürfen auf die Ressource zugreifen.

Require user Username
Nur die aufgeführten Benutzer (hier: Username) dürfen auf die Ressource zugreifen.
(Nicht im Beispiel enthalten.)

Absoluter Pfad zur .htpasswd

Der absolute Pfad zur .htpasswd kann wie folgt ermittelt werden. Es wird eine PHP-Datei (z. B. pfad.php) erstellt und in das root-Verzeichnis geladen, in welchem sich auch die .htpasswd befindet. Durch das Aufrufen der Datei im Browser wird der benötigte absolute Pfad übermittelt und kann in die .htaccess eingebunden werden.

<?php echo realpath(''); ?>
<?php echo getcwd(); ?>
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

Die .htaccess wird in das zu schützende Verzeichnis gelegt.

Aufbau der .htpasswd

// Anwendung
Username:verschlüsseltes Passwort (MD5)

Mit Hilfe von Gaijin kann der verschlüsselte Wert des geplanten Passwortes generiert werden.

Abb. 2 – Passwort Generator – Gaijin.at
htaccess-htpasswd-schutz-passwort

// Beispiel 1
// Username="admin" & Passwort="admin"
admin:$1$1.NPBsh3$pW4VVrKcgnaDzVFezt/1t/
// Beispiel 2
// Username="admin" & Passwort="admin"
admin:$1$1.NPBsh3$pW4VVrKcgnaDzVFezt/1t/
// Username="user1" & Passwort="passwort1"
user1:$1$/nGn/XHJ$9Escn/QGeK6W08nZSNS2D.
// Username="user2" & Passwort="passwort2"
user2:$1$sLz/UIVd$CtgzaRX53gKN76yhiy2xY.

Sofern man kein Tool zur Hand hat, kann man die Verschlüsselung auch mit Hilfe der Funktion crypt vornehmen.

<?php $password = 'Ihr gewähltes Passwort'; ?>
<?php echo crypt($password); ?>

htaccess Passwortschutz & Verzeichnisschutz – Zusammenfassung

Zusammenfassend kann man sagen, dass es beim Thema Verzeichnisschutz mindestens zwei Dateien gibt.
Die .htpasswd liegt root bzw. Stammverzeichnis der Website. Hier werden alle Zugangsdaten gespeichert. Das heißt, dass hier auch mehrere User mit entsprechenden Passwörtern hinterlegt werden.
Die .htaccess wird immer in das zu schützende Verzeichnis gelegt. Der entsprechende Schutz wird hierbei rekursiv vererbt.
Das heißt, dass auch die Unterverzeichnisse und Daten, die in dem zu schützenden Verzeichnis liegen, nur mit Eingabe der entsprechenden Zugangsdaten erreichbar sind.

Schreibe einen Kommentar

* Pflichtfelder