Przeczytałem tę odpowiedź i znalazłem komentarz nalegający, aby nie wysyłać hasła e-mailem:
hasła nie powinny być możliwe do odzyskania przez e-mail, nienawidzę tego. Oznacza to, że moje hasło jest gdzieś zapisane jako zwykły tekst. należy go zresetować.
To nasuwa mi pytanie o obsługę opcji Forgot Password?
Za wszelką cenę surowe hasło musi być wyświetlane w dowolnym interfejsie użytkownika, aby użytkownik mógł je odczytać. Jak zatem poradzić sobie z „zapomnianym hasłem”
Odpowiedzi:
Dobry projekt aplikacji nie będzie w stanie jawnie odzyskać hasła użytkownika. Wynika to z tego, że zwykle jest przechowywany po przejściu przez jakiś skrót, który jest operacją jednokierunkową.
Najlepszym sposobem radzenia sobie z utraconym hasłem jest zresetowanie, wysłanie do konta e-mail linku z wygenerowanym parametrem, który identyfikuje to jako prawidłowe resetowanie hasła dla danego konta. W tym momencie mogą ustawić nowe hasło.
Zakłada się, że w pliku znajduje się adres e-mail użytkownika.
źródło
Nie powinieneś przechowywać głównego hasła użytkownika jako zwykłego tekstu, ale MOŻESZ przechowywać tymczasowe hasło jako zwykły tekst, tj
użytkownik resetuje hasło -> hasło tymczasowe jest tworzone -> hasło tymczasowe jest wysyłane pocztą e-mail -> użytkownik jest zmuszony zmienić hasło przy następnym logowaniu (być może nowe hasło nie może być tymczasowe)
źródło
Komentarz jest przeciwny wysyłaniu oryginalnego hasła w wiadomości e-mail, nie wysyłaniu niczego w wiadomości e-mail. Jeśli instytucja może wysłać oryginalne hasło, oznacza to, że je ma, a to jest problem z bezpieczeństwem. Komentator nie argumentował przeciwko wysyłaniu hasła za pośrednictwem poczty elektronicznej, ponieważ w większości przypadków jest to prawie konieczne.
Właściwym sposobem jest przypisanie nowego hasła, które może być użyte raz, bez względu na przyczynę. Być może jest już oznaczony jako wygasły przez system, może po prostu loguje się na stronie, aby zmienić hasło generowane dynamicznie raz i tylko raz, cokolwiek.
źródło
Najbardziej podoba mi się to, że aplikacja wysyła wiadomość e-mail do użytkownika na zarejestrowany adres e-mail z jednorazowym linkiem ważnym przez X godzin, który zawiera stronę „Zmień hasło”.
Użytkownik może następnie ustawić hasło tak, jak mu się podoba, bez ryzyka umieszczenia go w wiadomości e-mail.
źródło
Mój dostawca kart kredytowych ma opcję „zapomnianego hasła”, która zadaje pytania bezpieczeństwa (nie jest to samo w sobie bardzo bezpieczne, ale robi to wiele banków), a następnie generuje nowy kod i podaje połowę na ekranie, a drugą połowę wysyła w wiadomości e-mail ty. W ten sposób nie możesz złamać konta bez dostępu zarówno do strony internetowej, jak i adresu e-mail.
Jakiś czas temu pytałem o to z perspektywy użyteczności .
źródło