umrechnung für .htusers/.htpasswd
.::crazycons::.
- sonstiges
Moinsen,
ich möchte nicht immer aufs internet zugreifen müssen, um mir meine passwörter für htaaccess verschlüsseln zu lassen und würde gerne den key dafür wissen. ich würde mir dann ein programm schreiben, das das für mich macht!
Wer kann mir den Key dazu sagen?
mfg
de nixbligger
Mahlzeit,
ich möchte nicht immer aufs internet zugreifen müssen, um mir meine passwörter für htaaccess verschlüsseln zu lassen und würde gerne den key dafür wissen.
Was du suchst, ist in Perl die crypt()-Funktion. Siehe hierzu http://www.perldoc.com/perl5.8.0/pod/func/crypt.html.
hasta luego
Siechfred
Das ist aber für php gemacht, ich möchte das in vb proggen. daher stört mich das etwas. noch dazu raff ich net, was da beschrieben wird (was nicht am englisch sondern an meiner unkenntniss hängt)
mfg
de nixbligger
Nochmals Mahlzeit,
Das ist aber für php gemacht, ich möchte das in vb proggen. daher stört mich das etwas.
Nein, crypt ist eine Perl-Funktion. Ich kenne mich mit PHP nicht aus und kann dir daher nicht sagen, wie die entsprechende PHP-Funktion heißt und funktioniert. Da ich mich ebensowenig mit VB auskenne, muss ich wohl an dieser Stelle passen.
Allerdings liefert Apache einen Passwortgenerator mit (http://httpd.apache.org/docs/howto/auth.html#basicconfig). Vielleicht ist es das, was du suchst.
hasta luego
Torsten
Hi,
Nein, crypt ist eine Perl-Funktion. Ich kenne mich mit PHP nicht aus und kann dir daher nicht sagen, wie die entsprechende PHP-Funktion heißt und funktioniert.
crypt() gibt es auch bei PHP :-)
Gruß
Martin
moinsen,
das alles hilft mir doch auch net weiter...
ich brauche einen weg, um ein pwsswort z.B. ichbindumm in h8WJ4K.0b6Bxg umwandelt. da das auch ne art rechwnweg o.ä. ist, brauche ich diesen weg!!!
mfg
de nixbligger
Moin,
ich brauche einen weg, um ein pwsswort z.B. ichbindumm in h8WJ4K.0b6Bxg umwandelt. da das auch ne art rechwnweg o.ä. ist, brauche ich diesen weg!!!
Was an "Das geht mit der Funktion crypt()" bzw. "Wenn deine komische Programmiersprache diese Funktion nicht kennt, geht das mit htpasswd; externe Programme wirst du ja wohl aufrufen können" hast du nicht verstanden?
Und wenn du das unbedingt selber implementieren willst, was hindert dich daran dir den Quellcode von htpasswd anzuschauen?
Hi .::crazycons::.,
ich möchte das in vb proggen.
nein, Du möchtest "das" nicht.
Was hättest Du denn davon, mit einer nur unter Windows verfügbaren Programmiersprache eine Systemfunktion aufrufen zu wollen, die es genau unter Windows nicht gibt?
Vergiß "crypt()", wende Dich MD5 zu.
Und es macht auch wenig Sinn, "htpasswd.exe" in VB nachzuprogrammieren - ehrlich.
Viele Grüße
Michael
Moin!
Was du suchst, ist in Perl die crypt()-Funktion. Siehe hierzu http://www.perldoc.com/perl5.8.0/pod/func/crypt.html.
Nein, was er sucht, ist das wunderbare Programm "htpasswd", welches als Kommandozeilenprogramm ganz simpel eine .htpasswd-Datei aktualisieren kann. Sowas sollte es bei Windows-Apachen auch geben (ich kenne dir Version für Linux) - und außerdem kann man damit auch ganz simpel md5-codierte Passworte ablegen, die gegenüber crypt den Vorteil haben, dass sie mehr als 8 Zeichen erlauben und außerdem (deshalb und aufgrund des Algorithmus) schwerer zu bruteforcen sind. Vor allem die 8-Zeichen-Begrenzung ist ein wahnsinnig gutes Argument gegen crypt-Passworte.
- Sven Rautenberg
Hallo Sven,
Vor allem die 8-Zeichen-Begrenzung ist ein wahnsinnig gutes Argument gegen crypt-Passworte.
auf den rechnerischen Beleg verzichte ich jetzt mal, aber imho gibt
es auch bei 8 Zeichen eine sehr große Menge möglicher Passwörter ;-)
Viele Grüße,
Stefan
Moin!
Vor allem die 8-Zeichen-Begrenzung ist ein wahnsinnig gutes Argument gegen crypt-Passworte.
auf den rechnerischen Beleg verzichte ich jetzt mal, aber imho gibt
es auch bei 8 Zeichen eine sehr große Menge möglicher Passwörter ;-)
Natürlich. Aber du kennst doch Otto-NormalDAU. Der wählt sich unter den möglichen immer die einfachen aus. Und da ist es irgendwie netter, wenn er sich zumindest ein beliebig langes Passwort wählen kann, als eines, wo nach 8 Zeichen (ohne Wissen des Users) einfach abgeschnitten wird.
- Sven Rautenberg
Hallo Sven,
Sowas sollte es bei Windows-Apachen auch geben (ich kenne dir Version für Linux)
Korrekt, gibt es.
und außerdem kann man damit auch ganz simpel md5-codierte Passworte ablegen, die gegenüber crypt den Vorteil haben, dass sie mehr als 8 Zeichen erlauben und außerdem (deshalb und aufgrund des Algorithmus) schwerer zu bruteforcen sind. Vor allem die 8-Zeichen-Begrenzung ist ein wahnsinnig gutes Argument gegen crypt-Passworte.
Hierzu die Frage: ist es sicher, dass jede auf dem Server installierte Apache-Version auch MD5-codierte Passwörter verarbeiten kann? Da MD5 mehrere Möglichkeiten der Verschlüsselung bietet, kann der Apache mit allen Varianten umgehen oder gibt es da Einschränkungen? Ich hatte mal in der Apache-Doku gesucht, aber zu dem Thema nichts gefunden.
hasta luego
Torsten
Moin!
Hierzu die Frage: ist es sicher, dass jede auf dem Server installierte Apache-Version auch MD5-codierte Passwörter verarbeiten kann? Da MD5 mehrere Möglichkeiten der Verschlüsselung bietet, kann der Apache mit allen Varianten umgehen oder gibt es da Einschränkungen? Ich hatte mal in der Apache-Doku gesucht, aber zu dem Thema nichts gefunden.
Sagen wir mal so: htpasswd ist Bestandteil der aktuell erhältlichen Apache-Versionen - war es vermutlich schon immer. Die Generierung von md5-Passwörtern muß man per Kommandozeilenoption explizit einschalten - wenn der zugehörige Apache mit md5 nix anfangen kann, wird auch htpasswd es nicht können und eine Fehlermeldung ausgeben.
Es ist bekanntlich ja so, dass Windows-Apachen keine crypt-Passwörter können. Die dafür immer vorgeschlagene Alternative "Plain-Text" ist aber absolut unakzeptabel. md5 hingegen kann auch der Windows-Apache. Nach meiner Erfahrung sind die generierten Passwortdateien zwischen Windows und Linux austauschbar (vielleicht mit der Einschränkung, dass man das Zeilenende-Kennzeichen entsprechend verändern muß, indem man z.B. die Datei im FTP-ASCII-Modus hochlädt).
- Sven Rautenberg
Hi Sven!
Nein, was er sucht, ist das wunderbare Programm "htpasswd", welches als Kommandozeilenprogramm ganz simpel eine .htpasswd-Datei aktualisieren kann.
Aber damit kann man glaueb ich leider nicht Benutzer entfernen, oder? Nur mal so nebenbei da ich demnächst auch eine Anwendung mit http-auth schützen wollte, und da will ich eine einfach Möglichkeit haben user per Knopfdruck hier und jetzt auszusperren, so dass halt keien neuer Request mehr möglich ist. Aber dazu muss ich eh die Datei parsen und "manuell" beschreiben, oder?
Grüße
Andreas
Moin!
Aber damit kann man glaueb ich leider nicht Benutzer entfernen, oder? Nur mal so nebenbei da ich demnächst auch eine Anwendung mit http-auth schützen wollte, und da will ich eine einfach Möglichkeit haben user per Knopfdruck hier und jetzt auszusperren, so dass halt keien neuer Request mehr möglich ist. Aber dazu muss ich eh die Datei parsen und "manuell" beschreiben, oder?
htpasswd meint über sich:
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.
-d Force CRYPT encryption of the password (default).
-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.
Interessant: md5 ist Default-Codierung auf Windows-Systemen.
Was dein Problem angeht: Was spricht dagegen, dem rauszuwerfenden Benutzer einfach ein neues Passwort zu geben, was er nicht kennt. Das läuft erstmal auf dasselbe Ergebnis hinaus: Er kann nicht rein.
Diese Methode könnte dann unzufriedenstellend sein, wenn du weitere Mechanismen anbietest wie z.B. "Mail mir mein vergessenes Passwort (bzw. generiere ein neues)".
Allerdings: Solche Mechanismen gibts häufiger bei Sites mit einer großen Userbasis. Bei solchen Sites sollte die Authentifizierung aber nicht mehr per simpler Passwort-Datei ablaufen, sondern (wie z.B. hier im Selfforum) datenbankgestützt. Und dann hast du natürlich alle Möglichkeiten, zusätzlich zu den für Apache notwendigen Spalten "username" und "password" weitere Verwaltungsinformationen hinzuzufügen, die z.B. das Neugenerieren von Passwörtern verhindern. Und das Löschen von Usern ist dann auch ganz leicht. :)
- Sven Rautenberg
Hi!
htpasswd meint über sich:
Da habe ich natürlich als erstes geguckt ;-)
Was dein Problem angeht: Was spricht dagegen, dem rauszuwerfenden Benutzer einfach ein neues Passwort zu geben, was er nicht kennt. Das läuft erstmal auf dasselbe Ergebnis hinaus: Er kann nicht rein.
Hm, daran hatte ich noch nicht gedacht, hm, gefällt mir aber nicht so gut.
Diese Methode könnte dann unzufriedenstellend sein, wenn du weitere Mechanismen anbietest wie z.B. "Mail mir mein vergessenes Passwort (bzw. generiere ein neues)".
das alte gibts natürlich nicht wieder zurück - wie auch. Möglich wäre es durchaus, und vielleicht ist es doch die beste Möglichkeit, da sich so kein anderer User in diesem Moment dessen Username sichern kann, aber dann hae ich noch das problem sicherzustellen das nicht durch irgendeinen dummen Zufall das neue dem User eigentlich unbekannt Passwort zufällig gleich dem alten ist ;-)
Nein ich glaube ich mache das manuell uns lösche den kompletten Eintrag
Allerdings: Solche Mechanismen gibts häufiger bei Sites mit einer großen Userbasis.
Groß nicht wirklichm auf vielleicht max. 1000.
Bei solchen Sites sollte die Authentifizierung aber nicht mehr per simpler Passwort-Datei ablaufen, sondern (wie z.B. hier im Selfforum) datenbankgestützt. Und dann hast du natürlich alle Möglichkeiten, zusätzlich zu den für Apache notwendigen Spalten "username" und "password" weitere Verwaltungsinformationen hinzuzufügen, die z.B. das Neugenerieren von Passwörtern verhindern. Und das Löschen von Usern ist dann auch ganz leicht. :)
Ja, aber da wo die Software vorübergehend laufen wird habe ich leider keien Möglichkeit das entsprechende Apache-Modul zu verwenden. Und wen ich wie geplant später selbst die Gewalt über einen neuen Server bekomme, dann werde ich PHP als Modul verwenden mit einem eigenen PHP_AUTH... Mechanismus, ohne .htaccess. Obwohl, vielleicht auch nicht, eigentlich dachte ich an PEAR::Auth oder sowas, aber vielleicht muss ich mir das mit der Apache-Lösung nochmal überlegen, hätte den Vorteil das ich nicht nur PHP-Scripte schütze...
Viele Grüße
Andreas