Michael Nagler: .htaccess / .htpasswd mit PHP generieren

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

  1. 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

    1. 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

      1. 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

        --
        "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
        (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
      2. 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

  2. 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