(Stand: 11.10.24, Adresse: http://www.grammiweb.de/anleitungen/ka_htaccess.shtml)
Passwortschutz mit .htaccess
Mitunter ist es sinnvoll, bestimmte Dateien oder ganze Verzeichnisse nur einem ausgewählten Personenkreis zugängig zu machen. Viele Webserver, zum Beispiel der Apache oder der NCSA, bieten hierzu mit einfachen Mitteln sehr effektiven Schutz: Die Datei ".htaccess".
Diese Datei ermöglicht es, Verzeichnisse oder Dateien mit einem Passwortschutz zu versehen, wobei das Passwort in kodierter Form vorliegt und somit ein wenig schwerer auszulesen wäre als bei anderen Methoden (wie beispielsweise JavaScript-Alternativen). Wird auf eine derart geschützte Datei oder ein Verzeichnis zugegriffen, wird der Besucher aufgefordert, seinen Benutzernamen und sein Kennwort einzugeben:
Wird beides korrekt eingegeben, wird automatisch weitergeleitet. Ist seine Eingabe hingegen fehlerhaft, erscheint statt dessen eine Fehlermeldung.
Die Datei .htaccess
Um einen solchen Passwortschutz einzurichten, benötigen Sie erst einmal einen Texteditor. Erstellen Sie mit diesem die ASCII-Datei ".htaccess" (falls diese noch nicht im "/logs"-Verzeichnis Ihres Servers vorhanden ist) und definieren Sie dort die notwendigen Parameter:
AuthType Basic
AuthName "Zugriff auf Kundenseiten"
AuthUserFile /realerUnixPfad/.htpasswd
AuthGroupFile /realerUnixPfad/.htgroup
<Limit
GET>
require group kunden
</Limit>
Die Bedeutung dieser Parameter im Einzelnen:
"AuthType Basic"
Authorisierungstyp der Abfrage. Üblicherweise wird der Parameter "Basic" verwendet, um auf eine unverschlüsselte Textdatei zuzugreifen. Hier sind auch Alternativen wie beispielsweise "PGP" möglich, wenn auf eine via PGP verschlüsselte Datei zugegriffen wird
"AuthName "Zugriff auf
Kundenseiten""
Eine kurze Beschreibung der Abfrage. Dieser Titel wird dem Besucher angezeigt, bevor er Benutzernamen und Kennwort eingeben soll.
"AuthUserFile /realerUnixPfad/.htpasswd"
Der reale Unix-Pfad zur Passwortdatei ".htpasswd". Diese Pfadangabe unterscheidet sich im Normalfall von der Internetadresse. Fragen Sie im Zweifelsfall Ihren Provider, wie der Realname lautet.
In der Passwortdatei werden alle Benutzernamen mit dazugehörigem Passwort hinterlegt.
"AuthGroupFile /realerUnixPfad/.htgroup"
Der reale Unix-Pfad zur Gruppendatei ".htgroup". In dieser Datei werden später die verschiedenen Zugänge genehmigt. Wird der Zugang nur für eine Person freigegeben, ist diese Angabe nicht nötig.
In der Gruppendatei werden Gruppen anhand von Benutzernamen festgelegt, so dass Sie auch verschiedenen Personenkreisen Zugriff auf unterschiedliche Ziele gestatten können.
"<Limit>" oder
"<Files>"
Direktive, was geschützt wird. Mit <Limit> können Sie komplette Verzeichnisse schützen. Hierbei haben Sie die Möglichkeit, die Optionen "GET" und "POST" zu verwenden, wenn Besucher in diesem Verzeichnis nur lesen bzw. auch schreiben dürfen.
"<Files>" bezeichnet Dateien. So können Sie mit <Files *.htm> beispielsweise alle Dateien mit der Endung ".htm" schützen, auf Dateien anderer Formate kann normal zugegriffen werden. Die Verwendung von Jokern ist hierbei erlaubt, so dass Sie * und ? benutzen können.
"require group kunden"
Der require-Parameter gibt an, welche Personen Zugriff bekommen sollen. Haben Sie eine Gruppendatei erstellt, wird hier auf die darin definierten Gruppen zurückgegriffen. Sie können auch auf einzelne Personen zugreifen lassen, die in der Datei .htpasswd freigegeben wurden: Hier sähe der require-Parameter wie folgt aus: require user Name
Die Datei .htpasswd
In der Datei ".htpasswd" werden die einzelnen Benutzernamen mit deren dazugehörigen Passwörtern festgelegt. Diese Passwörter werden durch einen Doppelpunkt vom Usernamen getrennt und mittels des Unix-Befehls crypt() verschlüsselt. Sie können auch den Passwort-Generator in der Rubrik "ServiceJet" verwenden, der die Funktionalität emuliert.
kunde1:Rskjd0auzzrw3
kunde2:Rsjhdddfs6sdll
Die Datei .htgroup
In der Gruppendatei können Gruppen gebildet werden. Hierbei werden einfach die in der Passwortdatei vergebenen Usernamen zusammengefasst. In unserem Beispiel würden also die Kunden "kunde1" und "kunde2" die Gruppe "kunden" bilden.
kunden: kunde1 kunde2
Der Upload
Übertragen Sie nun alle Dateien im ASCII-Format in das zu schützende Verzeichnis. Achten Sie hierbei darauf, dass der Pfad mit dem in der Datei ".htaccess" angegebenen übereinstimmen muss.
Bekannte Fehlerquellen
Achten Sie bei Problemen darauf, dass folgende Voraussetzungen erfüllt wurden:
- Der Webserver basiert auf einem ".htaccess"-unterstützenden System wie z. B. Apache
- Die in der Datei ".htaccess" angegebenen Dateipfade wurden korrekt angelegt
- Die Dateien wurden als ASCII-Dateien angelegt und auch als solche an den Server übermittelt
- Die Dateien heißen wie oben angegeben, und nicht ".htaccess.txt" oder ähnliches. Sollte dies nicht der Fall sein, und sollte Ihr Editor keine Möglichkeit geben, die Dateien unter diesen Namen abzulegen, benennen Sie sie einfach auf dem Webserver mittels Ihres FTP-Clients um - der unterstützt dies meistens.
© Grammiweb.de Internetlösungen. Alle Rechte vorbehalten. Stand: 11.10.2024
Seitenanfang - Sponsor werden - Datenschutz - Medien - Impressum - Werbung - Hilfe - Kontakt