![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Opcja przypomnienia hasla na serwisie. Do dyspozycji mam jedynie e-maila uzytkownika. W zasadzie w wiekszosci przypadkow robi sie to chyba tak: Uzytkownik proszony jest o podanie e-maila, jezeli e-mail znaleziony zostal w bazie, zostaje wygenerowane nowe haslo, ktore zapisujemy do bazy i wysylamy uzytkownikowi na e-maila, deaktywujac jednoczesnie konto. W mailu oprocz nowego hasla przesylamy link aktywujacy. Glowny minus tego rozwiazania: ktos moze kilka razy dziennie zmieniac nam haslo wiedzac, ze nasz mail figuruje w bazie danych. Proponowane rozwiazanie: Uzytkownik podaje e-maila, jezeli istnieje w bazie, proszony jest o haslo do skrzynki pocztowej. Za pomoca curl'a sprawdzam czy mozna sie zalogowac do skrzynki, jezeli tak to wysylamy/wyswietlamy mu nowe haslo. Czy taki pomysl jest dobry? W kwestii pracy z curlem jestem poki co teoretykiem jedynie ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Glowny minus tego rozwiazania: ktos moze kilka razy dziennie zmieniac nam haslo wiedzac, ze nasz mail figuruje w bazie danych. To zamiast zmieniac hasło od razu, to wysyłaj tylko linka do zmiany hasła. Dopiero gdy koleś kliknie w linka, ktory otrzymał w mailu, to dopiero potem zmieniaj mu hasło
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Fakt, myslalem o takim rozwiazaniu, ale nie chcialem tworzyc dodatkowego pola z nowym haslem.
Hmn, chociaz w tej chwili uswiadomilem sobie, ze przeciez w bazie nie musze zapisac nowego hasla, wszystko bedzie zawarte w linku aktywacyjnym i tak jak mowisz, dopiero po kliknieciu haslo zostanie zedytowane. Zakrecilem, zakrecilem, dzieki za wskazowke ![]() temat do zamkniecia w sumie ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Gdzie Ty się chcesz komuś logować na skrzynkę pocztową...
1) Użytkownik podaje swój adres email 2) W skrzynce dostaje maila z linkiem w stylu: ..../przypomnij-haslo/123456/3453413fjdsjfsfjsdkj Gdzie 123456 to ID maila, a drugi kod to losowo wygenerowany token (on jest również zapisany w bazie danych strony) 3) Po wejściu na taki link sprwdzasz czy w bazie danych istnieje para: 123456, 3453... - jeśli tak generujesz losowe hasło, ustawiasz to hasło jako hasło użytkownika oraz wyświetlaszu mu je (ew. wysyłasz na maila) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tak, racja, racja, problem juz rozwiazalem w taki sposob:
user podaje maila na maila w linku wysylam id usera, token (md5(hash.mail)) i md5(nowe haslo)... dopiero po kliknieciu w linka haslo jest zmieniane... a token stworzony na podstawie maila to po to by nie tworzyc nowych zbednych kolumn w tabeli |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak, racja, racja, problem juz rozwiazalem w taki sposob: user podaje maila na maila w linku wysylam id usera, token (md5(hash.mail)) i md5(nowe haslo)... dopiero po kliknieciu w linka haslo jest zmieniane... a token stworzony na podstawie maila to po to by nie tworzyc nowych zbednych kolumn w tabeli A po co w ogóle słać użytkownikowi nowe hasło? Ja mam jeszcze (pomijając że do tego jest cała tabela załóżmy "nowehasla", w końcu od tego jest baza) czas wysłania który aktywny jest przez x dni. Po tym czasie trzeba wygenerować nowy hash. Oczywiście aktywny jest tylko jeden na raz dla danego konta. Oprócz tego zbieram IP i wyświetlam użytkownikowi żeby mógł sobie sprawdzić czy ktoś nie kombinuje z jego kontem. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 11:00 |