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-ID: 151515

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

thaenhusen
thaenhusen 22.09.2010 um 11:34:53 Uhr
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
ITIL-Harry
ITIL-Harry 22.09.2010 um 12:44:31 Uhr
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.
thaenhusen
thaenhusen 22.09.2010 um 13:21:03 Uhr
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
ITIL-Harry
ITIL-Harry 22.09.2010 um 16:48:51 Uhr
Goto Top
Vielen Dank -

Da war noch ein Fehler bei dem Salt Parameter

Jetzt geht es

Gruß
Harry