.htpasswd Verzeichnisschutz für XAMPP unter Windows XPSie befinden sich: Home > Webmaster News
Die Erstellung passwortgeschützter Verzeichnisse in XAMPP / Apache unter Benutzung des Programms htpasswd.exe
Heute möchte ich eine Methode vorstellen, mit der es möglich ist, Verzeichnisse eines Rechners unter XAMPP für Windows (MySQL, PHP, Apache) vor fremden Zugriffen zu schützen. Da es ohne weiterführendem Wissen nahezu unmöglich ist, eines geschützten Ordners innerhalb des Systems anzulegen, folgt hier nun eine leicht verständliche Anleitung.
Die Anleitung habe ich erstellt, da man eine „.htpasswd “ Datei, welche von einem Webserver generiert wurde, nicht verwenden kann. Grund hierfür ist: Jede Apache Version generiert diese Datei anders. Daher könnte man die „.htpasswd “ Datei nur verwenden, wenn der Webserver die gleiche Apache Version verwendet. Jetzt komme ich zu der Anleitung und möchte nicht mehr um den heißen Brei reden.
Zwei Arbeitsschritte gilt es hierbei zu bewältigen. Zum einen die Erstellung eines Passwort Files, zum anderen die Belegung (.htaccess Datei erstellen) des zu schützenden Verzeichnisses mit einem Passwort. Anm.: Die eingefügten Bilder kann man sich vergrößern lassen, über einen Klick auf das Bild.
Schritt 1 - Passwort Files
Zunächst sollte das Programm „htpasswd.exe“ gefunden werden, dass die Erstellung eines Passwort Files gewährleistet. In XAMPP findet sich eine solche Anwendung unter xampp/apache/bin/.
Damit lautete der korrekte Pfad für unser System: C:/xampp/apache/bin/htpasswd.exe. Da ich mein Xampp auf einer anderen Festplatte installiert habe, lautet der Pfad bei mir: E:/xampp/apache/bin/htpasswd.exe
Den Wechsel in der Konsole von einer Festplatte kann man ganz einfach mit Eingabe von dem Festplattenverzeichnis (z.b.: e: + anschließend Eingabetaste) realisieren.
Fenster zum Öffnen der Windows Konsole
ANMERKUNG: Im Folgenden wird es nötig, die Windows Eingabeaufforderung (Windows Konsole) zu öffnen. Ein entsprechender Programmeintrag kann im Startmenü unter „Zubehör“ gefunden werden. Sollte der Eintrag fehlen, lässt sich die Eingabeaufforderung auch manuell im Startmenü öffnen. Hierzu einfach die Option „ausführen“ wählen und den Befehl „cmd“ in das Textfeld eingeben.
Windows Konsole mit Eingabe von htpasswd.exe
Das Programm htpasswd erstellt sowohl einen Benutzer, als auch das dazugehörige Passwort in einer speziellen Datei, meist mit der Endung .htpasswd. Nun sollte die Eingabeaufforderung, wie beschrieben geöffnet und folgender Befehl eingetippt werden (Um eine neue Datei anzulegen, muss man den Parameter -c angeben).
Beispiel:
htpasswd.exe -c -b .htpasswd frodo beutlin87
Windows Explorer Ausgabe von der .htpasswd Datei
Diese Kommandozeile erstellt ein neues Passwort File mit dem Benutzernamen „frodo“ und dem Passwort „beutlin87“. (der -b Befehl zwingt das Programm zur direkten Übernahme des neuen Passworts. Wird -b weggelassen, fordert das Programm im späteren Verlauf wie unten zu sehen eine Passwortbestätigung an)
Ausgabe ohne -b:
Ausgabe ohne -b in der Windows Konsole
Beispiel:
htpasswd.exe -c E:/xampp/htdocs/restricted/.htpasswd test
ANMERKUNG: Die Passwortdatei sollte hierbei nicht web zugänglich sein! Demnach muss sichergestellt werden, dass sich der Pfad oberhalb des Root-Ordners der Web-Verzeichnisstruktur befindet. Nach -c folgt der Pfad, wo die .htpasswd gespeichert werden soll.
Da ich unter E: mein Xampp am Laufen habe, habe ich mit E: in der Windows Konsole vorher die Festplatte gewechselt und mit cd in das Verzeichnis von der htpasswd.exe gewechselt.
Schritt 2 - .htaccess Datei erstellen
Der zweite Schritt belegt jetzt ein Verzeichnis mit einem Passwortschutz. Hierzu wird dem gewünschten Ordner eine Datei (.htaccess) beigefügt, die Apache oder der jeweilige Browser bei Ordnerzugriff dazu veranlasst, die Eingabe des Usernamens, sowie des Passworts zu verlangen.
Einfach per Editor die folgenden Parameter in eine neue Datei mit dem Namen .htaccess einfügen:
AuthName "Protected Area"
AuthType Basic
AuthUserFile C:/xampp/pfad_zu_der_htpasswd_datei/.htpasswd
require valid-user
ANMERKUNG: Hier besonders die korrekte Richtung der Schrägstriche beachten!
AuthUserFile muss der korrekte Pfad sein, an dem sich das zuvor erstelle, Passwort File befindet, während AuthName lediglich einen frei wählbaren Namen für die Sicherung erzeugt. Der Text „Protected Area“ kann somit auf Wunsch auch durch eine persönliche Textzeile ersetzt werden.
Nach erfolgreicher Speicherung muss die .htaccess Datei nur noch in das zu sichernde Verzeichnis kopiert werden. Damit ist der Ordner mit sofortiger Wirkung geschützt und verlangt schon beim nächsten Zugriff die Eingabe von Benutzernamen und Passwort.
In verschiedenen Foren oder Blogs wurde auch berichtet, dass man den Apache neu starten musste, damit die Änderung aktiv wird. In meinem Fall war dies nicht vonnöten, wahrscheinlich ist dies ein wenig von der Apache Version oder Konfiguration abhängig.
Ich hoffe, dass ich es nicht allzu schwer erklärt habe und man kann hierbei nichts zerstören. Bei Problemen einfach mal ein wenig rumtüfteln oder schreibt einen Kommentar. Alternativ könnt ihr natürlich auch unser .htpasswd Generator verwenden, um eine .htpasswd Datei zu generieren. (Autor: schubertmedia), Eingetragen am 27.12.2011
Schreib ein Kommentar
|