.htaccess / .htpasswd mit PHP generieren
Michael Nagler
- php
0 raik0 Horst Nogajski
Hi!
Ich hab einige Skripte gefunden, die .htpasswd Dateien für den Apache generieren und sie funktionieren auch - aber nicht unter Windows. Da Windows anscheinden keine crypt() Funktion unterstützt verwendet Apache unter Windows ausschließlich MD5 hashes. Ich habe aber leider nicht rausbekommen, wie er die nun generiert; bräuchte aber ein Skript, was sowohl unter Unix als auch unter Windows funzt. Kennt da einer was?
Mit freundlichen Grüßen,
Michael Nagler
Hi!
Ich hab einige Skripte gefunden, die .htpasswd Dateien für den Apache generieren und sie funktionieren auch - aber nicht unter Windows. Da Windows anscheinden keine crypt() Funktion unterstützt verwendet Apache unter Windows ausschließlich MD5 hashes. Ich habe aber leider nicht rausbekommen, wie er die nun generiert; bräuchte aber ein Skript, was sowohl unter Unix als auch unter Windows funzt. Kennt da einer was?
bisher nicht in php.
für perl gibts sowas, falls du das portieren kannst.
für windows musst du die htpasswd.exe aus dem apache\bin\ - verzeichnis benutzen, die sich auch per kommandozeile steuern lässt.
grüsse, raik
Hi!
bisher nicht in php.
für perl gibts sowas, falls du das portieren kannst.
Evtl. ja - hast Du da vielleicht einen Link?
für windows musst du die htpasswd.exe aus dem apache\bin\ - verzeichnis benutzen, die sich auch per kommandozeile steuern lässt.
Das ist klar - und die benutzt auf Windows automatisch MD5 und Apache kann auch nur .htpasswds lesen, die mit MD5 verschlüsselt wurden. Eine mit crypt() verschlüsselte (unter Linux/Unix) korrekte .htpasswd wird unter Windows nicht laufen.
Mit freundlichen Grüßen,
Michael Nagler
Moin!
Das ist klar - und die benutzt auf Windows automatisch MD5 und Apache kann auch nur .htpasswds lesen, die mit MD5 verschlüsselt wurden. Eine mit crypt() verschlüsselte (unter Linux/Unix) korrekte .htpasswd wird unter Windows nicht laufen.
Ja, aber was hindert dich, auch unter Linux MD5 zu verwenden? crypt() verwendet nur die ersten acht Zeichen des Passworts, außerdem ist der Algorithmus schon so alt und relativ schnell, so dass man ihn heutzutage in annehmbarer Zeit bruteforcen kann. Mit anderen Worten: crypt() ist nicht empfehlenswert, MD5 ist die Methode der Wahl.
Und das Programm htpasswd gibts auf allen Plattformen, auf denen es Apache gibt. Du müßtest also lediglich in PHP den Pfad anpassen und die richtigen Optionen übergeben.
- Sven Rautenberg
hallo!
»» für perl gibts sowas, falls du das portieren kannst.
Evtl. ja - hast Du da vielleicht einen Link?
ja: http://search.cpan.org/dist/Crypt-PasswdMD5/
wenn du es schaffst wäre ich auch sehr daran interessiert. leider sind meine perl-kenntnisse eher mangelhaft, so das ich den code nicht verstehe. (insbesondere die eigendliche md5-routine)
grüsse aus berlin, raik
Hi!
Ich hab einige Skripte gefunden, die .htpasswd Dateien für den Apache generieren und sie funktionieren auch - aber nicht unter Windows. Da Windows anscheinden keine crypt() Funktion unterstützt verwendet Apache unter Windows ausschließlich MD5 hashes. Ich habe aber leider nicht rausbekommen, wie er die nun generiert; bräuchte aber ein Skript, was sowohl unter Unix als auch unter Windows funzt. Kennt da einer was?
Mit freundlichen Grüßen,
Michael Nagler
Hallo,
ich bin mir nicht ganz sicher, aber evtl kannst Du auch das Tool crypt von den GNUwin32-Tools nutzen,
http://sourceforge.net/project/showfiles.php?group_id=23617&release_id=87346
Dann mußt Du zwar immer noch das Script mit dem Du arbeitest so umbauen das Du auf Windows anstelle von einfach crypt($meinPasswort) einen Shellaufruf mit dem gnuwin32-crypt ausführst, aber evtl. ist das ja mach- und zumutbar.
Und hier noch ein weiteres phpScript: http://hn273.users.phpclasses.org/browse.html/package/411.html
Viele Grüße,
Horst