Erstellen eines Passwortschutzes für ein Verzeichnis
Die .htaccess-Datei ist eine Konfigurationsdatei, in der verzeichnisspezifische Einstellungen vorgenommen werden können. Mit Hilfe dieser Datei lassen sich zum Beispiel einzelne Ordner mit einem Passwortschutz versehen und genau diese Eigenschaft wollen wir uns jetzt zu Nutze machen.
Die Dateien, von denen in diesem kleinen Tutorial die Rede ist, werden dabei in jenes Verzeichnis kopiert, welches geschützt werden soll.
Die Konfigurationsdatei
Mit dieser .htaccess-Datei können wir nun unseren Passwortschutz einrichten. Sie legt dabei nicht nur die Art des Zugriffschutzes fest, sondern auch den Namen, den Pfad zur Benutzerdatei und die Angabe, welche Benutzer oder welche Gruppen Zugang zum Verzeichnis haben.
Eine solche Datei könnte zum Beispiel wie folgt aussehen:
AuthType Basic
AuthName "Administration"
AuthUserFile /home/html/administration/.htuser
Require valid-user
Im folgenden Abschnitt werden nun einzelne Befehle im Detail erklärt.
- AuthType
- Diese Angabe legt den Authorisierungstyp fest. Auf Apache-Servern lautet er üblicherweise Basic. Es gibt daneben noch andere Arten der Authorisierung, wie z.B. Kerberos oder Digest, die aber weniger häufig anzutreffen sind und auch meistens nicht unterstützt werden.
- AuthName
- Der Authorisierungsname sollte im Normalfall eine kleine Beschreibung des geschützten Verzeichnisses sein. Verzichten Sie aber wenn möglich auf Sonderzeichen und Umlaute. Wenn der Name aus mehreren Wörtern bestehen sollte, so sollte er in Anführungs- und Schlusszeichen gesetzt werden.
- AuthUserFile
- Die .htuser-Datei enthält die einzelnen Benutzer mitsamt ihren verschiedenen Passwörtern, dessen absoluten Pfad hier angegeben werden muss.
- AuthGroupFile
- In der .htgroup-Datei kann man die Benutzer in unterschiedliche Gruppen zusammenfassen. Jede Gruppe kann zudem unterschiedliche Zugriffsrechte besitzen. Auch bei dieser Angabe muss der Pfad wiederum absolut sein.
- Require
-
Mit dieser Anweisung kann man festlegen, welche Personen oder Gruppen Zugang zum geschützten Verzeichnis haben dürfen. Dazu stehen uns folgende Optionen zu Verfügung:
-
Require user Benutzer1 , Benutzer2 , ... , Benutzern
Auf diese Weise kann man den geschützten Bereich nur für die aufgelisteten Benutzer zugänglich machen. Wenn allerdings viele oder sogar alle eingetragenen Personen Zutritt haben sollten, ist die nächste Einstellung um einiges besser geeignet.
-
Require valid-user
Auf diese Weise kann man den geschützten Bereich für alle Benutzer, welche in der Benutzerdatei aufgelistet sind, zugänglich machen. Diese Methode ist am häufigsten anzutreffen, vor allem auch deshalb, weil sie am einfachsten zu pflegen ist.
-
Require group Gruppe1 , Gruppe2 , ... , Gruppen
Auf diese Weise kann man den geschützten Bereich gleich ganzen Gruppen zugänglich machen. Diese Möglichkeit bietet sich an, wenn man verschiedene Gruppen mit unterschiedlichen Zugriffsrechten hat.
-
Die Benutzerdatei
In der .htuser-Datei stehen die Benutzer mitsamt ihren Passwörtern. Jeder Benutzer steht in einer eigenen Zeile. Sein Name und sein Passwort sind dabei mit einem Doppelpunkt voneinander getrennt. Das Passwort muss dabei immer verschlüsselt eingetragen werden. Die PHP-Funktion crypt() wäre eine Möglichkeit, dies zu bewerkstelligen.
Eine solche Zeile könnte zum Beispiel wie folgt aussehen:
Admin:TlcgD9Z1EnbyI
Die Gruppendatei
In dieser Datei können verschiedene Gruppen definiert werden. Eine solche Datei könnte zum Beispiel den folgenden Aufbau haben:
Gruppe1: Benutzer1,1 , Benutzer1,2 , ... , Benutzer1,n
Gruppen: Benutzern,1 , Benutzern,2 , ... , Benutzern,n
Die Angabe der Gruppe wird durch einen Namen, gefolgt von einem Doppelpunkt und den durch Komata getrennten Benutzern definiert. Die einzelnen Benutzer stehen dabei wie üblich in der .htuser-Datei.
Abschliessendes
Ich hoffe, dass ich mit diesem kleinen Tutorial dem einen oder anderen auf die Sprünge helfen konnte. Nun sollte der Schutz eines Verzeichnisses ohne Probleme klappen.
Weiterführende Links
Veröffentlicht am: 30. Januar 2010