Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Login-Script - Password-Reminder erstellen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Login-Script - Password-Reminder erstellen


 
macintoshi
30-05-2006, 17:01 
 
Hallo,

das Login-Script läuft erfolgreich mit einigen eigenen Modifikationen.

Leider komm ich nicht ganz weiter mit der Erstellung eines Password-Reminders für registrierte User. Von der Logik her ist alles klar, User gibt seine E-Mail ein, dann wird geprüft, ob diese in der Datenbank vorhanden ist und dann wird sein Passwort an ihn geschickt.

Folgendes Problem steht da nur im Wege, die Passworter sind ja mit der Hash-Function MD5 in der Datenbankgespeichert und dafür gibs ja keine Umkehrfunktion usw.

Wer weiß Rat oder ne passende Lösung?

macintoshi

 
mrhappiness
30-05-2006, 17:06 
 
Generiere automatisch ein neues Passwort, verschicke es per Mail und schreibe es md5-verschlüsselt in die Datenbank

 
macintoshi
30-05-2006, 17:12 
 
Danke für die schnelle Antwort.

Klingt logisch und macht sicherheitstechnisch auch Sinn.

Weißt du zufällig eine passende Function für das automatische Generieren eines "relativ" sicheren Passworts?

 
mrhappiness
30-05-2006, 17:17 
 
Im Code-Schnipsel-Bereich habe ich eine Funktion für phonetische Passwörter gepostet, diekannst du dir mal anschauen.

Du kannst aber natürlich auch $passwort = md5(uniqid(time()));
$passwort_in_db = md5($passwort);schreiben.
Der Benutzer kann das Passwort ja per Copy&Paste aus der Mail ins Anmeldeformular schaufeln, er wird es danach ja sowieso ändern, also kann es auch ruhig etwas länger sein *g*

 
macintoshi
30-05-2006, 18:58 
 
Hab mich für die 2. Variante mit time() entschieden und die Sache(Passwort) doch etwas gekürzt, weil man muß ja immer vom DAO ausgehn und da reichen glaub 8 Zeichen zum Tippen bzw. Merken ;)


$passwort_lang = md5(uniqid(time()));

$passwort_kunde = substr($passwort_lang, 0, 8);

$passwort_in_db = md5($passwort_kunde);


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:18 Uhr.