dani
Goto Top

Verzeichnisschutz mit htaccess

Hallo miteinander,
ihr werdet euch jetzt Fragen, warum nochmal ein HowTo. Lonesome Walker hat mich gefragt, ob nicht Lust hätte ein richtiges zumachen.

Bitte achtet auf "/" und "\". Je nach System - Linux oder Windows Apache, XAMPP - anpassen!

back-to-topAllgemein

Bei .htaccess handelt es sich um einen Verzeichnisschutz. D.h. wenn man die Adresse eingibt, kommt ein Authentifizierungsfenster. Dort muss dann der Benutzer + Passwort eingeben werden. .htaccess schützt nicht nur das Verzeichnis in dem die Datei liegt, sondern alle Unterverzeichnisse auch.

Vorraussetzung ist ein Anbieter, der htaccess unterstützt. Heutzutage wird diese Methode des Schutzes von 90% aller Provider erlaubt bzw. vorgezogen. Da sie einfach und zugleich effektiv ist. Bei dem Webserver "Apache" funktioniert das Ganze wunderbar (egal ob Windows oder Linux). Jedoch beim IIS von Microsoft muss man ein bisschen nachhelfen. Unter http://www.isapirewrite.com/ (Englisch) findest du eine kostenlose Version, diese ist aber eingeschränkt . Die Dokumentation ist sehr gut. Dann ein weiteres Programm gibt es hier (http://www.troxo.com/products/iispassword/). Ich finde es leicht verständlich aber genau die gleiche Wirkung.


back-to-topOptionen bei .htaccess

AuthName "test" (optional)
Hier kannst du einem Namen vergeben. Somit weiß man erst mal was sich dahinter verbirgt und man tut sich dann mit Benutzer und Passwort einfacher.

AuthType Basic (erforderlich)
Hier kann die Art der Authentifizierung festgelegt werden. Zwar wird die Passwortübertragung nicht verschlüsselt, aber sie wird von den gängigen Browsern unterstützt.

AuthUserFile /PFAD/.htpasswd (erforderlich)
Hier wird der Pfad auf dem Server angegeben, unter dem die Datei mit den Benutzernamen und Passwörtern zu finden ist. Diese Angabe sollte der absolute Pfad zur Datei sein.
Jetzt kann man zwischen 3 Methoden wählen (optional):

1.) <Limit GET> #Beschränkung: Seiten dürfen nur angeschaut werden
2.) <Limit POST PUT> #Beschränkung: Absenden von Formularen erlaubt
3.) Einfach diese Zeilen weglassen. Somit kann der Benutzer alles machen.

Am Ende der Datei einfach </Limit> schreiben.


back-to-topZugriffsarten (1 Option erforderlich. Sie können auch kombiniert werden!)
order deny, allow (optional)
Jeder Zugriff ist am Anfang verboten. Solange bis es eine Authentifizierung gab.


allow from all (optional)
Statt all kann man hier auch IP - Adressen mit Komma getrennt auflisten. Somit kann man den Zugriff auf einige Computer einschränken.


require valid-user (optional)
Erzwingt die Passwortabfrage. Falls in dieser Passwortdatei mehrere Benutzer stehen, haben natürlich alle Zugriff. Es könne natrülich mehrere Benutzer mit Komma getrennt angegeben werden. Vorraussetzung ist, sie müssen in der oben angegebenen Datei existieren.

require user name (optional)
Damit kann nur bestimmten Benutzer einer Datei den Zugriff erlauben.


back-to-topErstellen der .htaccess

Egal ob unter Linux/Unix oder Windows am besten erstellt man diese Datei direkt mit dem Editor. Dieser braucht keine spezielle Fähigkeiten o.ä. Wichtig ist beim Speichern der Datei, den "." Am Anfang nicht zu vergessen. Der Punkt sorgt dafür, dass die Datei versteckt wird.


back-to-topErstellen der .htpasswd

Zum erstellen dieser Datei liefert der Apache gleich einen Befehl mit. Heute heißt er htpasswd2 (früher htpasswd).
Diesen Befehl gibt es auch wieder unter Windows und Linux. Wichtig ist, dass die Datei nicht im Internet abrufbar ist!!!

Linux (root Rechte erforderlich):
htpasswd2 /PFAD/.htpasswd BENUTZER

Hier ist noch zu beachten, dass der wwwrun der Besitzer der Datei ist. chown wwwrun /PFAD/.htpasswd!


Unter Windows sieht das Ganze ähnlich aus:

htpasswd "C:\Test\.htpasswd BENUTZER"

Optionen:

-c Wird die Datei neuangelegt.
-b Das Passwort kann mit einem Leerzeichen getrennt hinter dem Benutzer angeben werden
( Zu beachten ist, dass die Eingabe des PW's im Klartext erscheint!!!).


Nützliche Links:
http://www.trash.net/faq/htaccess.shtml - Wer noch mehr damit machen möchte.
http://u11.de/htpasswd-generator.php - Ein Generator für die beiden Dateien.



Beispiel (.htaccess):
AuthName "test"  
AuthType Basic
AuthUserFile "C:\test\.htpasswd"  
order deny, allow
require valid-user

Update: 06.03.2008 17:30
Mir ist aufgefallen, dass seit einer bestimmten Windows XAMPP Version die .htpasswd Datei nicht mehr von Apacheserver akzeptiert wird und somit der Fehler 500 erscheint. Abhilfe schafft ihr dadurch, wenn ihr aus der .htpasswd => htpasswd macht. Viel Spaß....

Gruß
Dani

Content-ID: 33032

Url: https://administrator.de/contentid/33032

Ausgedruckt am: 14.11.2024 um 03:11 Uhr

guzmamb6
guzmamb6 01.06.2006 um 09:57:27 Uhr
Goto Top
Wenn man z. B. Passwortabfrage ODER richtige IP als Zugangsschutz haben will wird (zusätzlich zu "allow from <IP>" und "require user <name>") einfach "Satisfy any" angehängt.
Nähere Infos unter http://httpd.apache.org/docs/1.3/howto/auth.html#satisfy

Michael
PS: Die Formatierung des Links ist leider vom Forum verhunzt, der Link beginnt bei "http://..."
Xaero1982
Xaero1982 05.05.2007 um 20:54:51 Uhr
Goto Top
Es ist nicht ausschließlich ein Verzeichnisschutz.
Man kann mit .htaccess auch explizit einzelne Dateien sichern!

AuthName "Memberlist"
AuthType Basic
AuthUserFile "PFAD für htpasswd"

<Files "Zu sichernde Datei">
require valid-user
</Files>
masterG
masterG 06.05.2007 um 15:01:43 Uhr
Goto Top
Super Dani!
Super gelungen! Viel besser als das andere HowTo das jemand anderer geschrieben hat!

masterG