2016-05-19 13 views
0

Ich habe eine Website wie SO. Wenn Benutzer ein Konto erstellen, werden ihre Konten deaktiviert, bis sie ihre E-Mails öffnen und auf eine solche URL klicken, die ich zuvor gesendet habe.Bester Algorithmus zum Aktivieren des Benutzerkontos

Nun, diese URL sollte welche Parameter enthalten?


Derzeit hash ich die E-Mail des Benutzers und übergeben Sie es als Parameter an diese URL. Wenn der Nutzer darauf klickt, bekomme ich diese Hash-E-Mail und vergleiche sie. Aber mein Algorithmus ist nicht gut, weil Benutzer Hash-sich selbst emailen und es an mein Skript weitergeben können, ohne seine E-Mail zu öffnen. Nun, ich möchte wissen, wie ich eine Bestätigungs-URL erstellen kann und wie kann ich sie bestätigen?

+1

Sie müssen es zusammen mit etwas Zufälliges hashen, das nur die App kennt. –

+0

Schauen Sie sich Salzen Hashes. [Dieser Beitrag] (http://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure-for-password-storage) bezieht sich auf Passwörter, aber Sie können die gleiche Methode für Ihre verwenden Einweg-Aktivierungslink Dann können Sie den Schlüssel einfach in Ihrer Datenbank speichern, bis er verwendet wird, und dann den Datensatz entfernen. – Takarii

+0

Es ist normalerweise am besten, auch ein Ablaufdatum zu haben, so dass Sie nach einiger Zeit eine Bereinigung in Ihrer Datenbank vornehmen können, indem Sie alle abgelaufenen (nicht aktivierten) Konten löschen. – ChatterOne

Antwort

2

Sie können eine zufällige Zeichenfolge generieren und in der Datenbank im Benutzerdatensatz speichern. Dann senden Sie die E-Mail mit einer URL, die diese Zeichenfolge enthält. So können Sie leicht nach dieser Zeichenfolge in der Datenbank suchen und das Konto aktivieren.

+0

Emm, ja, das ist nicht schlecht. Danke. – stack

Verwandte Themen