![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam
jaki jest najlepszy sposob na odzyskiwanie/resetowanie zapomnianego hasla usera? ja zrobilem tak ze po wybraniu opcji zresetuj haslo, oraz po wpisaniu login i adresu e-mail zapisywany jest do bazy nowe haslo generowane jakims algorytmem, a nastepnie wysylany jest mail do usera z nowym haslem. na tym forum jest tak ze jest jeszcze zalaczony link w tym mailu ktory sluzy do potwierdzenia, czyli to znaczy ze dopiero po potiwerdzeniu haslo jest zastepowane nowym? czy juz wczesniej jest tworzone i wysylane do usera, tylko gdzie ono jest przechowywane? kolejna kolumna w tabeli user? jak najlepiej to rozwiazac zeby user zbytnio sie nie zniechecal ale zeby rowniez system byl bezpieczny. pozdrawiam z gory dziekuje za odpowiedzi |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ja robię to tak, że mam dodatkowe pole w bazie danych koło zhashowanego hasła, i teraz jeśli użytkownik chcę przypomnieć sobie hasło to musi podać swój nick i adres e-mail podany wcześniej przy rejestracji, jeśli dane się zgadzają to zostaje wysłany e-mail z wygenerowanym losowym hashem, hash ten zostaje zapisany w to dodatkowe pole w bazie danych. Następnie, jeśli hash w bazie zgadza się z hashem podanym w linku np. ?key=500a72aee33a41f4105df6290a56cc92 to zostaje wygenerowane nowe hasło i zupdateowane w bazie danych na to nowe, oczywiście zostaje wysłane na adres e-mail. Można oczywiście prościej, jednak jakoś ta metoda najbardziej mi przypadła do gustu. Dlaczego nie tak jak napisałeś? Ponieważ istnieje prawdopodobieństwo, że ktoś będzie znał Twój adres e-mail i nick'a wtedy zostanie Ci wygenerowane nowe hasło, zupełnie niepotrzebnie. Później będziesz musiał wprowadzić te nowe w mailu i ponownie zmieniać, a takto nowe hasło zostaje wygenerowane dopiero po sprawdzaniu. Pozdrawiam! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 21:04 |