Ich habe gerade über meinen Registrierungsfluss für meine Nodejs/MongoDB-App nachgedacht und mich gefragt, ob ich wirklich überprüfen muss, ob die E-Mail-Adressen bereits in der Datenbank sind, wenn sich Benutzer registrieren.Soll ich doppelte E-Mail-Adressen speichern?
Ich lasse meine Nutzer ihre E-Mail-Adresse bestätigen, indem Sie auf eine E-Mail klicken, die ich an sie senden werde. Sie müssen dies tun, bevor Sie sich einloggen. Sobald sie auf diesen Link klicken, dann werde ich diese E-Mail als verified
in der Datenbank markieren. In diesem Sinne denke ich, dass es nicht wirklich wichtig ist, ob sich jemand mit derselben E-Mail-Adresse anmeldet (aus welchen Gründen auch immer), da er nicht als verified
markiert wird, es sei denn, er kann auf den E-Mail-Account zugreifen.
Ich frage mich aber, ob es Auswirkungen auf die Leistung hat, wenn es um die Suche nach Benutzern in der Datenbank per E-Mail-Adresse geht. Beispielsweise melden sich Benutzer mit der E-Mail-Adresse an. Wäre es in diesem Fall ratsam, einen Index sowohl für email
als auch für verified
zu erstellen?
Habe ich etwas übersehen, das möglicherweise eine Sicherheitslücke darstellen könnte?
Einige interessante Punkte, danke - Benutzer könnten kein zweites Konto erstellen, denn wenn die E-Mail-Adresse verifiziert ist, kann die E-Mail nicht registriert werden. In Bezug auf das Thema "Junk" denke ich, dass dies immer ein Problem sein wird. Ich könnte auch Konten löschen, die innerhalb einer bestimmten Zeit nicht überprüft wurden. Ein Grund für meine Herangehensweise ist, dass es Menschen/Maschinen daran hindert, eine E-Mail zu registrieren, die ihnen nicht gehört, und andere Benutzer anzuhalten. – tommyd456
@ tommyd456 Wenn dies Ihr Anliegen ist, können Sie Personen, die eine "ausstehende" Adresse registrieren möchten (eine, die registriert wurde, aber noch nicht verifiziert wurde) erlauben, die Bestätigungs-E-Mail erneut zu senden. – robertklep
Ja, das habe ich in meiner Frage mit "verifiziert" gemeint. Sie glauben also nicht, dass bei einer großen Anzahl von Benutzern ein Leistungsproblem auftreten wird? – tommyd456