itil-harry
Goto Top

Htaccess - Passwort prüfen vor Wechsel

Passwortprüfung vor Passwortwechsel

Hallo zusammen,

derzeit erstelle ich eine Web-Applikation bei der ich eine Useranmeldung mittels .htaccess verwende.
Die Benutzer Anmeldedaten sind in einer MySQL-DB abgelegt. Das Passwort ist mit crypt verschlüsselt.

Anhand dieser Daten wird die zugehörige .htpasswd generiert, was auch einwandfrei funktioniert.

Die Anwender sollen nun über ein Formular ihr Passwort ändern können. Hierzu soll nun das
alte Passwort und 2x ein neues Passwort eingegeben werden.

Nun finde ich leider keine Möglichkeit, das alte Passwort zu verifizieren, da ja crypt eine Unmenge
verschiedener Ausgabestrings für den gleichen Quellstring zurückgibt.

Kann mir hier vielleicht irgendjemand helfen, es geht nicht um einen Passworthack sondern nur darum,
bevor das Passwort geändert wird zu prüfen, ob die Person das auch darf.

Vielen Dank

Gruß
ITIL-Harry

Content-Key: 151515

Url: https://administrator.de/contentid/151515

Printed on: April 26, 2024 at 08:04 o'clock

Member: thaenhusen
thaenhusen Sep 22, 2010 at 09:34:53 (UTC)
Goto Top
Moin.

Das könnte Dir helfen:

<?php
$passwort = crypt('mein_Pwd'); // let the salt be automatically generated

/* Sie sollten das vollständige Ergebnis von crypt() als Salt zum
Passwort-Vergleich übergeben, um Problemen mit unterschiedlichen
Hash-Algorithmen vorzubeugen. (Wie bereits ausgeführt, verwendet
ein Standard-DES-Passwort-Hash einen 2-Zeichen-Salt, ein
MD5-basierter hingegen nutzt 12 Zeichen. */
if (crypt($benutzer_eingabe, $passwort) == $passwort) {
echo "Passwort stimmt überein!";
}
?>

HTH
MK
Member: ITIL-Harry
ITIL-Harry Sep 22, 2010 at 10:44:31 (UTC)
Goto Top
Danke, aber genau das funktioniert nicht.

Da ich ja die encryted Passwords in einer DB speichere hole ich diesen String in eine Variable und vergleiche diese dann mit dem crypt String des neu eingegebenen Kontrollpasswort.

Ich erhalte keine Übereinstimmung.

Das Passwort in der DB funktioniert, da hieraus ja die htpasswd generiert wurde und ich mich anmelden kann.
Eine Kontrollausgabe des Crypt-Strings zeigt auch, dass mit jeder Ausführung ein anderer String herauskommt.
Member: thaenhusen
thaenhusen Sep 22, 2010 at 11:21:03 (UTC)
Goto Top
Moin.

Also bei mir funktioniert das und wenn Du google.de bemühst findest Du diesen Code auch zig-fach.
Der Trick ist den SALT des gespeicherten passworts in die neue Prüfung reinzutun.

Damit werden die Crypt-String "vergleichbar".

Dann muss bei Dir was anderes "faul" sein.

HTH
MK
Member: ITIL-Harry
ITIL-Harry Sep 22, 2010 at 14:48:51 (UTC)
Goto Top
Vielen Dank -

Da war noch ein Fehler bei dem Salt Parameter

Jetzt geht es

Gruß
Harry