Gewinn24.de - Wir machen Sie zum Gewinner

.htaccess - so geht's

Ich will einen Bereich meines Webspaces mit einem Passwort schützen.
Wie ist ein solcher Passwortschutz aufgebaut?
In dem zu schützenden Verzeichnis muß sich eine Datei namens .htaccess befinden. Diese wird beim Aufruf des entsprechenden Verzeichnisses angesprochen und fragt nach einem Benutzernamen und Passwort.
Sobald Passwort und Benutzername eingeben sind, werden die Dateien, in denen Benutzername und zugehöriges Passwort definiert wurden, abgefragt.

Diese Dateien heißen .htgroup und .htpasswd und befinden sich in einem anderen, möglichst geschützten, Verzeichnis.

Vorgehensweise


Ich habe mir das Unterverzeichnis /freunde angelegt, welches ich nur bestimmten Bekannten zugänglich machen möchte.
Dazu brauche ich noch ein Verzeichnis, in dem sich die Passwörter befinden. Ich nenne es /pass.

Als erstes greife ich mit einem FTP-Programm auf meinen Webspace zu und schaue ins /logs Verzeichnis.
Dort befindet sich bereits eine .htaccess-Datei, welche das /logs-Verzeichnis schützt.
Diese Datei öffne ich und sehe etwa folgendes (ASCII aktivieren):


In der 3. Zeile steht mein sogenannter Real-Pfad (meine persönlichen Ziffern habe ich durch x ersetzt), welchen ich für meine eigene .htaccess benötige.
Allerdings endet er nicht auf /htpasswd (da habe ich keinen Zugriff drauf), sondern auf /htdocs.

Also: der real-Pfad lautet: /kunden/homepages/xx/xxxxxxxxx/htdocs


Diesen Pfad kopiere ich in die Zwischenablage (STRG - C).
Jetzt öffne ich einen Text-Editor (z.B. wordpad oder den normalen Editor) und erstelle meine .htaccess:


Wie man sieht, habe ich in die dritte und in die vierte Zeile meinen Real-Pfad eingefügt (STRG - V) und um das /pass Verzeichnis ergänzt, denn hier werde ich die beiden Dateien .htgroup und .htpasswd ablegen, welche Usernamen und Passwörter enthalten.
Diese Dateien sind folgendermaßen aufgebaut:

.htgroup (enthält die gültigen Usernamen)


.htpasswd (enthält die zugehörigen Passwörter in verschlüsselter Form)



Die Datei .htgroup erstelle ich wieder mit einem Text-Editor.
Für die Datei .htpasswd benötige ich das Programm htpasswd.exe (zum Download anklicken).
Ich öffne die MSDOS-Eingabeaufforderung und erstelle die Datei mit dem Befehl:
htpasswd -c .htpasswd freund1



Damit habe ich ein Passwort für freund1 vergeben. Jetzt fehlt noch das Passwort für freund2. Kein Problem:
htpasswd -c .htpasswd freund2

usw. so lassen sich weitere Userpasswörter hinzufügen.

Solltest Du aus irgendwelchen Gründen nicht mit dieser Datei arbeiten können oder wollen, kannst Du die Passwörter auch direkt hier verschlüsseln lassen und das Ergebnis in Deine .htpasswd kopieren.

Jetzt übertrage ich die Dateien in die entsprechenden Verzeichnisse und...

...es funktioniert nicht. Die Dateien wurden nicht im ASCII-Format übertragen, weil das in meinem FTP-Programm noch nicht eingestellt ist.
OK, kein Problem.
Ich benutze WS-FTP. Hier klicke ich auf Options, Extensions und füge dem Feld "ASCII Filenames and Extensions" .htaccess, .htgroup und .htpasswd hinzu (Add).


Diesmal funktioniert's :-)

Aber was ist, wenn jemand Zugriff auf mein /pass Verzeichnis bekommt und sich .htgroup und .htpasswd ansieht? Kann er die Passwörter entschlüsseln?
Egal, ich unterbinde jeden Zugriff auf dieses Verzeichnis indem ich ganz einfach die .htaccess aus /logs dorthin kopiere. Jetzt habe nur noch ich Zugriff auf /pass, denn hier werden jetzt meine Zugangsdaten abgefragt, welche (hoffentlich:-)) nur mir bekannt sind. Wenn man eh nur über FTP darauf zugreift, kann man natürlich auch irgendeine .htaccess (ohne dazugehörige .htpasswd) dorthinkopieren, dann hat NIEMAND mehr Zugriff.

Und hier geht's zu meinem geschützten Verzeichnis: http://www.oraab.de/freunde

Username: freund1
Passwort: kollege1

oder

Username: freund2
Passwort: kollege2



Funktioniert es bei Dir nicht? Dann schau bei den häufigen Fehlerquellen nach. Vielleicht findest Du hier schon eine Lösung.

Seit dem 23.8.05 gibt es auch ein Forum auf dieser Seite. Ich hoffe, dass das läuft und viele Fragen dort beantwortet werden.