PHP 4.3

14.6 Passwortgeschützte Verzeichnisse

Die meisten ISPs bieten bei hochwertigen Web-Paketen die Möglichkeit, Verzeichnisse durch eine Passwortabfrage zu schützen. Bei Verwendung des Webservers Apache wird dazu im Verzeichnis eine Datei (im Allgemeinen mit dem Namen .htaccess) angelegt, welche die Daten für die Zugangsberechtigung enthält oder darauf verweist.

Findet der Webserver in einem Verzeichnis, auf das ein Zugriff über den Browser erfolgen soll, oder in einem innerhalb des Webserver-Verzeichnisbaums über diesem Verzeichnis liegenden Verzeichnis, eine solche Datei vor, entnimmt er ihr zusätzliche Konfigurationseinstellungen, die den Zugriff auf dieses Verzeichnis betreffen. Wird in der Datei eine Authentisierung verlangt, erscheint im Browser ein kleines Pop-Up-Fenster, welches Benutzernamen und Passwort erfragt. Stimmen die eingegeben Daten, die vom Browser an den Server übermittelt werden, mit den auf dem Server hinterlegten Angaben überein, wird der Zugriff gewährt - wenn nicht, ist der Zugriff nicht möglich.

Die Sicherung sensibler Daten erfolgt in zwei Schritten:

  1. Anlegen eines Verzeichnisses mit den zu schützenden Daten
    Legen Sie in Ihrem Webverzeichnis ein neues Verzeichnis an, beispielsweise mit dem Namen "Securedata". Belegen Sie dieses Verzeichnis mit den Daten, die Sie schützen möchten.

  2. Anlegen einer htaccess-Datei im darüberliegenden Verzeichnis zum Schutz der Daten
    In dem Verzeichnis über dem zu schützenden Verzeichnis legen Sie eine Datei mit dem Namen ".htaccess" an. Ein Beispiel für den Inhalt einer solchen Datei wäre:

<Location Securedata>
AuthName Schutzverzeichnis
AuthType Basic
AuthUserFile /usr/local/apache/conf/passwd
Require user hartwig
</Location>

Die erste Zeile leitet die Konfiguration für das Verzeichnis ein. Der Name des zu schützenden Verzeichnisses wird innerhalb der HTML-ähnlichen spitzen Klammern angegeben. Wie man sieht, werden die Konfigurationsanweisungen auch mit einem abschließenden Location-Tag versehen. Dies erlaubt es, in einer Datei die Konfigurationen für verschiedene Verzeichnisse zu verwalten.

Die zweite Zeile definiert mit der Konfigurationsanweisung AuthName einen so genannten Bereich (Realm). Innerhalb dieses Bereiches reicht es aus, wenn der Benutzer sich pro Besuch einmalig authentisiert - alle Unterverzeichnisse des geschützten Verzeichnisses sind dann beispielsweise auch zugänglich (es sei denn, dort sind noch weitere .htaccess-Dateien mit einem anderen Realm). Der dort enthaltene Wert ist Grundlage des Verhaltens des Browsers. Standardgemäß öffnet sich ein Pop-up Fenster mit der Aufforderung, sich mit Namen und Passwort zu authentisieren.

AuthType beschreibt die Methode, mit der Passwörter zwischen Client und Server ausgetauscht werden. Es gibt hierzu zwei Möglichkeiten: Basic und Digest. Der Typ Basic verschickt Passwörter in nur schwach getarntem Klartext und ist deswegen unsicherer. Der Typ Digest dagegen verschlüsselt die Passwörter. Damit dieser Typ verfügbar ist, muss der Betreiber des Web-Servers je nach Version des Web-Servers u.U. besondere Vorkehrungen treffen.

Die Zeile AuthUserFile /usr/local/apache/conf/passwd bestimmt den Ort, an dem die verschlüsselten User/Passwort-Paare zur Passwortüberprüfung zu finden sind. Bei Anmeldung eines neuen Users erhält die Datei den neuen Namen und das verschlüsselte Passwort.

Die letzte Anweisung Require beschreibt, wer alles auf das Verzeichnis zugreifen darf. Hierzu gibt es drei Möglichkeiten:

Kommentare (0)

Ihr Kommentar

Name