Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przypomnienie hasla - algorytm
andycole
post 19.02.2010, 21:06:44
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 tongue.gif
Go to the top of the page
+Quote Post
nospor
post 19.02.2010, 21:10:33
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

Go to the top of the page
+Quote Post
andycole
post 19.02.2010, 21:15:02
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 smile.gif

temat do zamkniecia w sumie smile.gif
Go to the top of the page
+Quote Post
Crozin
post 20.02.2010, 11:21:07
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)
Go to the top of the page
+Quote Post
andycole
post 21.02.2010, 16:08:16
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
Go to the top of the page
+Quote Post
michalkjp
post 21.02.2010, 16:13:15
Post #6





Grupa: Zarejestrowani
Postów: 182
Pomógł: 14
Dołączył: 20.09.2008

Ostrzeżenie: (0%)
-----


Cytat(andycole @ 19.02.2010, 21:06:44 ) *
proszony jest o haslo do skrzynki pocztowej.
<br /><br /><br />

O LOL biggrin.gif Co Ty palisz biggrin.gif

Sorry, ale nie mogłem się powstrzymać po przeczytaniu tego... smile.gif
Go to the top of the page
+Quote Post
viking
post 21.02.2010, 16:33:45
Post #7





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Cytat(andycole @ 21.02.2010, 16:08:16 ) *
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.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 11:00