Angenommen, ein Benutzer registriert sich auf einer Website mit einer E-Mail-Adresse, die zunächst überprüft werden muss, bevor die Registrierung des Benutzers akzeptiert wird.
In der Regel sollten Sie eine E-Mail an die angegebene E-Mail-Adresse senden. Der Nutzer überprüft dann seinen Posteingang und klickt auf einen Link, der der Website mitteilt, dass die E-Mail-Adresse gültig ist. In der Regel ist in den Link eine Art Code eingebettet, der der Website mitteilt, ob es sich um eine rechtmäßige Validierung der E-Mail-Adresse handelt.
Meine Frage bezieht sich auf den Code. Wie kann man ihn am besten implementieren? Einige Ideen:
- Bei der Eingabe einer neuen Adresse auf der Website wird eine zufällige Zeichenfolge erzeugt. Diese zufällige Zeichenfolge wird in der DB gespeichert und dann per E-Mail an den Registranten gesendet. Der Link in der E-Mail enthält die zufällige Zeichenfolge als Teil der URL.
- Die adressierte E-Mail wird gehasht. Das bedeutet, dass nichts in der Datenbank gespeichert werden muss, da die Anwendung weiß, wie sie das Hashing aufheben kann. (Meine Sorge bei diesem Ansatz ist, dass, wenn der Benutzer später seine E-Mail-Adresse in eine andere ändert, die er zuvor eingegeben hat, der Hash derselbe sein würde. Ich bin mir nicht sicher, ob dies eine Art Sicherheitsrisiko darstellt).
- Ein anderer Ansatz?
Ich bin auf der Suche nach allgemeinen Ratschlägen zu diesem Problem.