Hallo zusammen,
ich setze gerade eine Passwort vergessen Funktion anhand von Microsoft Beispielen um LINK
Dort wird folgender Satz empfohlen:
"The method fails silently if the user email has not been confirmed. If an error was posted for an invalid email address, malicious users could use that information to find valid userId (email aliases) to attack."
Man soll also den User nicht darüber informieren, dass eine Mail an ihn rausgeschickt wurde, bzw. eine bekannte Rückmeldung wie "Deine Email ist uns nicht bekannt" soll nicht stattfinden. Finde ich etwas userunfreundlich. Manchmal weiß der Benutzer ja auch nicht mehr, mit welcher E-Mail er sich angemeldet hat. Wie handhabt ihr das?
Des weiteren wird auch erst eine Mail rausgeschickt, wenn die Email zuvor bestätigt wurde. Ist das auch sinnvoll? Auch hier ist es möglich, dass der User sich nur kurz angemeldet hat, auf der Seite noch nichts getätigt hat und das erst eine Woche später tut. Da hat er dann sein gewähltes PW vergessen und kann es nicht erneut resetten, da er eventuell bei der letzten schnellen Anmeldung seine Mail nicht bestätigt hatte. Wie seht ihr das?
Unfreundlich ist das eine, sicher das andere.
Beispiel:
Wenn eine Webseite solche Informationen preis gibt, dann macht sie sich (einfacher) angreifbar.
Wenn jemand weiß, dass ein Konto existiert, dann kann man sich darauf konzentrieren, dass man versucht das Passwort heraus zu finden. Kennt man aber den Loginnamen nicht und bekommt nur "Eingaben falsch", dann ist das einfach sicherer.
Macht dann aber auch nur Sinn, wenn der Loginname nicht zwangsläufig Public ist, weswegen E-Mails als Loginnamen beliebter sind aber Klartextnamen. E-Mails sind auf portalen selten öffentlich.
Daher die ausdrückliche Empfehlung, dass so zu handhaben, wie es Microsoft und andere Sicherheitsexperten (allen voran Troy Hunt) sagt.
Des weiteren wird auch erst eine Mail rausgeschickt, wenn die Email zuvor bestätigt wurde. Ist das auch sinnvoll?
Das hast Du hier missverstanden.
Für Passwort Reset darfst Du E-Mails versenden ohne, dass der Benutzer diese bestätigt. Aber Du darfst ihm zB. keine E-Mail für Informationen o.ä. zukommen lassen, wenn die E-Mail nicht bestätigt ist.
Siehe Opt-in
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke fürs Klarstellen. Dann werde ich mal die Sicherheitsempfehlungen beachten und keine Fehlermeldungen anzeigen.