php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Passwort vergessen


 
Zocker
14-02-2003, 13:01 
 
Hallo,
ich habe eine Login-Seite wo der Anwender sein Benutzernamen und sein Passwort eingeben muss. Nun möchte ich noch eine Passwort vergessen Funktion hinzufügen. Kann man so etwas in PHP umsetzen?

Gruss
Zocker

 
MelloPie
14-02-2003, 13:17 
 
Klar, kommt auch immer drauf wie Du das Passwort verschlüsselst

 
wahsaga
14-02-2003, 13:42 
 
Original geschrieben von MelloPie
Klar, kommt auch immer drauf wie Du das Passwort verschlüsselst
wenn das passwort im klartext in deiner db steht, dann kannst du es ja einfach auslesen und dem user an seine email-adresse schicken.

allerdings halte ich nicht viel von im klartext gespeicherten passwörtern.


wenn du es einweg-verschlüsselt speicherst, dann musst du ihm halt ein neues passwort erstellen, und ihm dieses zuschicken, damit er sich damit einloggen und sein passwort wieder ändern kann.

 
Krusenbaum
14-02-2003, 14:53 
 
am besten ist es, eine random id generieren zu lassen, diese md5 verschlüsselt in die user-db einzutragen und dann einen Aktivierungs-Link mit Usernamen und unverschlüsselter id zuzuschicken. Wenn der User auf den Link klickt, gelangt er zu deinem Recovery-Script, dass in der DB nachschaut, ob die an das script gegebene (und dann verschlüsselte) id mit der verschlüsselten id in der Datenbank übereinstimmt. Ist das der Fall => simplen Passwort-Eingabe-Dialog öffnen, ansonsten Loggen und ggf. Login-Fehler in der DB erhöhen (hilft gegen Hacker-Tools).

Der Vorteil dieser Lösung: Wenn ein fremder User das Passwort anfordert, wird das Passwort nicht geändert (was ganz schön lästig sein könnte). Da das Email an den richtigen User zugeschickt wird, kann nur er eine Passwort-Änderung veranlassen (in dem er auf den Link klickt).

Man kann sogar noch mehr Sicherheit haben, indem man in dem Email, das an den User geschickt wird, nicht den Login-Namen angibt und diesen vor der Aktivierung abfragt. Selbst wenn das Email an eine falsche Adresse abgeschickt wird, kann sich der Empfänger nicht einloggen.

Bei der Programmierung muss man aufpassen, dass das Script nicht anfällig gegenüber falschen GET oder POST Variablen sein darf ;-).

Felix


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