File_HtAccess stellt Methoden zur Verfügung um .htaccess-Dateien zu erzeugen und zu manipulieren, wie sie zum Beispiel von den Apache- oder NCSA-Webservern benutzt werden. Zusammen mit Passwort-Dateien werden sie benutzt, um die Verzeichnisse eines Webservers zu schützen. File_HtAccess bietet keine Methoden um Passwort-Dateien zu bearbeiten. Dafür können Sie das Package File_Passwd benutzen.
Die häufigste Zweck von .htaccess-Dateien ist der Zugriffsschutz von Inhalten auf Verzeichnisbasis. Mit modernen Webservern kann man viele weitere Dinge über .htaccess-Dateien regeln, z.B.: eigene Fehlerseiten, IP-basierte Zugriffskontrolle, automatische Weiterleitungen, Verzeichnis-Darstellungen verbieten und die Verwendung verschiedener Dateien al Index-Seite.
File_HtAccess konzentriert sich auf den Schutz von Verzeichnissen, gleichwohl ist es möglich die obengenannten Dinge zu kontrollieren.
Eine .htaccess-Datei besteht aus den folgenden Basis-Direktiven. Abhängig davon, ob eine Basic oder Digest-Authentfizierung benutzt wird, gibt es kleinere Unterschiede.
Direktive | Zweck |
---|---|
AuthType | Typ der Authentifizierung: "Basic" oder "Digest" |
AuthName | Authentifizierung-Realm bzw. Bezeichnung |
AuthUserFile | Vollständiger Pfad zur Passwort-Datei bei der Basic-Authentifizierung. |
AuthGroupFile | Vollständiger Pfad zur Gruppen-Datei bei der Basic-Authentifizierung. |
AuthDigestFile | Vollständiger Pfad zur Passwort-Datei bei der Digest-Authentifizierung. |
AuthDigestGroupFile | Vollständiger Pfad zur Gruppen-Datei bei der Digest-Authentifizierung. |
Require | Bedingung, die erfüllt sein muss, damit Zugriff gewährt wird. |
File_HtAccess stellt Zugriffsmethoden bereit, deren Name den Direktiven entsprechen wie z.B. getAuthType() und setAuthType().
Eine typische .htaccess-Datei sieht meist so aus:
Fragt ein Client nach einer Resource anfragt, die mit der Basic-Authentifizierung geschützt wird, dann antwortet der Webserver mit der Status-Meldung 401 Authentication Required. Erreicht den Client diese Meldung, fragt er den Benutzer nach einem Benutzernamen und Passwort. Ist die Authentifizerung erfolgreich, wird die geschützte Resource zum Client gesendet, andernfalls wird der Zugriff nicht gestattet.
Obwohl die Passwörter auf dem Server verschlüsselt gespeichert werden, so erfolgt die Übertragung zwischen Client und Server im Klartext, also unverschlüsselt, wenn die Basis-Authentifizierung benutzt wird. Mit der Digest-Authentifizierung wird das Passwort nicht im Klartext übertragen, stattdessen wird die MD5-Prüfsumme des Passwortes übermittelt. Leider wird diese Authentifizierungsart nicht von allen Browsern unterstützt.