Hi,
das ist ja schön. Ich habe mal unter meinem Windows Apache geguckt und da habe ich auch eine htpasswd.exe gefunden. Allerdings passiert da bei mir nix, wenn ich doppelt klicke.
Alter Mäuseschieber!!! Soweit Apache unter Windows auch gekommen sein mag: Das Programm ist wie folgt zu verwenden: DOS Box öffnen (und wenn du dafür unter ausführen "Command" eingibst.
Oder gleich bei ausführen htpasswd mit entsprechender Option benutzen...
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password (default).
-d Force CRYPT encryption of the password.
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
On Windows, TPF and NetWare systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
Nun noch die Erklärung, warum das mit dem Paßwort nicht so funktioniert.
Die Generatoren für Passwörter unter Linux benutzen meistens die crypt() funktion, die unter Linux vorhanden ist. Das Ergebnis ist aber 1. nicht mehr so schwer zu knacken, denn diese form der verschlüsselung ist schon etwas älter, und 2. gibt es unter Windows kein crypt(). Also hat man sich hier für MD5 zur verschlüsselung entschieden... Neuere Apache Versionen unterstützen dies inzwischen wohl auch unter Linux (will ich mal so unterstellen: hab ich nie getestet)... die crypt geschichte gibt es aber noch weiterhin.
Was passiert jetzt bei der Passworteingabe?
Passwort wird einegeben und an den Server übertragen (Wahrscheinlich geschieht dies noch als Klartext. Noch etwas wo ich mir nicht sicher bin. Ist aber hierfür nicht wichtig) Dort wird das dann (spätestens) verschlüsselt und mit dem in der Passwortdatei gespeicherten Zeichenkette verglichen. (na was gemerkt? Das gespeicherte Passwort wird nicht entschlüsselt, was auch nicht gehen sollte). Wurde nun das Passwort in der Datei mit crypt verschlüsselt und der Webserver vergleicht das eingehende Passwort damit, nachdem er es per MD5 verschlüsselt hat, kommt er natürlich zu dem Schluß: "Das Teil paßt nicht zusammen! Also Access denied!".