Nie rozumiem, dlaczego wysyłasz im hasła?
Klienci ustawiają swoje preferowane hasło, ty je haszujesz, przechowujesz skrót i nikt poza klientem / jego programem do zarządzania hasłami nie wie oryginalne hasło (nawet nie Ty), a gdy je zapomną, wyślesz im link do resetowania.
Jeśli jednak naprawdę musisz wysłać mu hasło, sugeruję, abyś wysłał mu link do dynamicznie generowanego strona internetowa, która wyświetla jego hasło (tylko raz).
musisz tymczasowo zapisać coś takiego w swojej bazie danych
emailTocken char (32) hasło varchar + - -------------------------------- + ----------------- - + | emailTocken | hasło | + ---------------------------------- + -------------- ---- + | 202CB962AC59075B964B07152D234B70 | jhds7ytht_id | | CF297E613A7F7892A3BF348EE526ABAD | hdhdbdue874 # | | 8F14E45FCEEA167A5A36DEDD4BEA2543 | yeheb8cvddt5) | | 2510C39011C5BE704182423E3A695E91 | 6 # hdyd98_jee | | 8F14E45FCEEA167A5A36DEDD4BEA2543 | yhrtxbxv48_e | + ---------------------------------- + -------------- ---- +
i wyślij mu wiadomość e-mail, w której ujawniasz tylko e-mailTocken, a nie hasło
Witaj kliencie. Skorzystaj z tego łącza, aby zobaczyć swoje hasło https://example.com/showPassword?emailTocken=8F14E45FCEEA167A5A36DEDD4BEA2543
na serwerze internetowym, gdy ktoś zażąda tego linku, wykonaj następujące czynności
- wybierz hasło który ma podany emailTocken
- usuń jego rekord z bazy danych
Teraz pierwsza osoba, która zażąda tego linku, zobaczy coś takiego jak
Witaj, kliencie, twoje hasło to yeheb8cvddt5) UWAGA: USUNIEMY TO HASŁO Z NASZYCH SERWERÓW, WIĘC MUSISZ JE PAMIĘTAĆ / ZAPISAĆ
Jeśli ktoś później zażąda tego samego linku, zobaczy coś like
Przepraszamy, to hasło nie istnieje lub było wcześniej przeglądane!
Zalety tego podejścia w porównaniu z wysłaniem hasła w wiadomości e-mail:
- hasło jest ujawniane tylko 1 raz dla pierwszego widza, a nie dla tego, kto zobaczy wiadomość później .
- jeśli ktoś inny zobaczył hasło jako pierwszy (człowiek pośrodku), uprawniony użytkownik nie będzie mógł go zobaczyć i poprosi o pomoc, co da nam znać, że istnieje stało się coś złego, lepiej niż ktoś inny to widzi, a my nawet nie wiemy. Mam nadzieję, że Twój program pocztowy nie zażąda tego automatycznie z jakiegokolwiek powodu :( .
wady tego podejścia w porównaniu z wysyłaniem hasła w wiadomości e-mail:
- wymaga serwera WWW
- prostego wysyłania hasła w e-mailu
Ponieważ ja powiedziałem ci wcześniej, nikt poza klientem nie powinien znać hasła i nigdy nie próbowałem tego podejścia, ale przynajmniej jest to lepsze niż ujawnianie hasła w postaci zwykłego tekstu w EMAILU, który może znajdować się na wielu komputerach / serwerach przez jakiś czas.