MD5 zurückumwandeln...GEHT DAS?

Ach komm, das ist nicht so schwer. Das neue Passwort wird in eine Tabelle mit den temporaeren Passwoertern geschrieben. Wenn der Nutzer auf den Aktivierungslink klickt, der den Hash einer Zufallszahl enthaelt, wird das temporaere Passwort in die User-Table geschrieben.
 
Sicherheitstechnisch ist es dann aber sinnvoll wiederum auf die Abfrage der eMail-Adresse zu verzichten und den Link an die Adresse aus der Datenbank zu mailen, sodass auch nur der User der sich registriert hat die Mail bekommt, und nicht irgendjemand irgendeine Mail-Adresse angibt.
Das sollte dann schon recht sicher sein. Ob jetzt jemand das Passwort von dem eMail-Konto des Users hat, das ist dann nicht mehr unser Problem. Man kann ja auf seiner Homepage die Leute nicht vor allen Gefahren des Internet schuetzen.
 
qsrs hat gesagt.:
Man könnte aber evtl. einen Aktivierungs-Link für die Änderung in der E-Mail mitschicken, so dass das Passwort erst nach der Aktivierung geändert wird. Wie macht ihr so etwas?
Ich habe mal ein Newsletterscript geschrieben, das das genau so - mit Aktivierungs-Link in einer E-Mail an den betreffenden User - funktionierte. So kann auch nur derjenige das Passwort ändern, dem die Adresse gehört (bzw. zugriff darauf hat). Das ist sehr sicher, vor allem wenn man z. B. mit einem 32-stelligen Hash o. ä. arbeitet. Wenn Du interesse hast das selbst umzusetzen, kann ich Dir einen Teil meines Quellcodes als Beispiel schicken.
 
@Johannes Röttger
Müsste doch reichen, wenn man in der Tabelle der User zwei Spalten definiert. Eine mit dem geänderten Passwort, die andere mit einem Wert der angibt ob dieses aktiviert wurde oder nicht.

@Neurodeamon
Ja, ich habe vor das umzusetzen. Das wäre sehr nett zu sehen, wie Du das gelöst hast. Jeder setzt seine Ideen anders um und mich interessiert dabei immer wie man es am Effektivsten, Einfachsten und Schnellsten, sprich am Besten machen kann.
 
Ein Aktivierungslink ist nicht unbedingt nötig. Du speicherst das neu generierte Passwort in einer zweiten Spalte. Wenn der User sich mit dem neu generierten Passwort einloggt, dann überträgst du es in die eigentliche Passwort-Spalte und löscht das temporäre Passwort. Wenn er sich mit dem alten Passwort einloggt, dann löscht du einfach das temporäre Passwort, und lässt das alte Passwort stehen.
Es wäre noch sinnvoll, beim generieren eines neuen Passworts die aktuelle Zeit mit in Datenbank zu schreiben, so dass neu generierte Passwörter z.B. nur 1 Tag gültig sind. Wenn er sich bis dahin nicht mit dem neuen Passwort einloggt, dann wird das temporäre Passwort wieder gelöscht.
 
qsrs hat gesagt.:
@Johannes Röttger
Müsste doch reichen, wenn man in der Tabelle der User zwei Spalten definiert. Eine mit dem geänderten Passwort, die andere mit einem Wert der angibt ob dieses aktiviert wurde oder nicht.
Nunja, dann schleppst du diese Last aber immer mit, ausserdem brauchst du mindestens drei Spalten, eine weiter fuer den Hash an sich, denn der muss ja stimmen.
 
qsrs hat gesagt.:
@Johannes Röttger
@Neurodeamon
Ja, ich habe vor das umzusetzen. Das wäre sehr nett zu sehen, wie Du das gelöst hast. Jeder setzt seine Ideen anders um und mich interessiert dabei immer wie man es am Effektivsten, Einfachsten und Schnellsten, sprich am Besten machen kann.
Schick mir eine E-Mail mit aussagekräftigem Betreff an:
neurodeamon[(AT)]gmail[(DOT)]com
Ich sende Dir dann meine Codeschnipsel mit Kommentaren zu
 
@ chelzyfire:

Hi,

ich würde Dir allerdings SHA1 Verschlüsselung empfehlen, da MD mitterweile nicht mehr (so) sicher ist.

Ein bereits behandelter Thread erörtert dies sehr gut.

Beste Grüße,
preko
 
Hi!

Probiers halt mal so:

Jeder User gibt bei der Anmeldung eine geheime Frage und eine geheime Antwort mit an.

Will jetzt jemand sein Passwort ändern, so muss er seinen Usernamen angeben.

Danach wird die geheime Frage an die E-Mail-Adresse aus der Datenbank gesendet, die zum Usernamen gehört.

Danach muss er dann den Usernamen und die geheime Antwort angeben (die ja nur er wissen kann, denn nur an ihn wurde überhaupt die Frage gesendet).

Und wenn dann alles passt, dann änderst du auf ein Random-Passwort.

cu shutdown
 
Zurück