Wir sind kürzlich zu einer besseren Strategie zum Speichern von Passwörtern übergegangen, mit all den guten Dingen:
- Passwörter werden nach dem Durchlaufen von bCrypt gespeichert
- Der Benutzer erhält bei der Kontoerstellung einen Aktivierungslink, um den Besitz der Adresse zu bestätigen
- Passwort ohne Sicherheitsfrage vergessen, ein Link wird an ihre E-Mail gesendet.
- Der Link läuft nach 24 Stunden ab. Ab diesem Zeitpunkt müssen sie einen neuen anfordern.
- Wenn das Konto von unseren Mitarbeitern erstellt wird, wird eine E-Mail mit einem zufälligen sicheren Passwort gesendet. Beim Anmelden muss der Benutzer es auf etwas zurücksetzen, das wir nicht kennen und das bCrypt'd ist.
Dies entspricht der "Best-Practice", aber dies hat unsere Anzahl an Supportanfragen von regulären Benutzern, die dies alles nicht verstehen, erheblich erhöht. Sie möchten sich nur anmelden.
Wir erhalten häufig Anfragen von Benutzern, die sich beschweren über:
- Falsches Passwort (von dem, das sie zurücksetzen müssen, wird es häufig mit einem Leerzeichen am Ende eingefügt). Sie sagen uns, was sie verwenden, aber wir können ihnen nicht sagen, wie ihr aktuelles Passwort lautet.
- Sie sagen, dass sie die von uns gesendete E-Mail nicht erhalten (Aktivierung, Zurücksetzen usw.). Dies ist häufig nicht der Fall. Nach eingehender Fehlerbehebung haben wir normalerweise festgestellt, dass sie einen Tippfehler in der E-Mail gemacht haben, dass sie nicht das richtige E-Mail-Konto überprüft haben oder dass es einfach in den Spam-Ordner verschoben wurde.
Wir können es natürlich nicht für sie versuchen, da wir das Passwort nicht haben. Wir protokollieren die fehlgeschlagenen Versuche, löschen aber auch das verwendete Kennwort, da es wahrscheinlich das Kennwort ist, das für ein anderes Konto verwendet wird, und wir wollten es nicht in einer Nur-Text-Protokolldatei speichern. Dies lässt uns so ziemlich nichts, was ihnen helfen könnte, wenn sie Probleme melden.
Ich bin gespannt, wie die meisten Leute mit solchen Themen umgehen.