Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]i[mysql]Przypomnienie hasła
Magik125
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.06.2007

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


Witam...
Mam problem.Zrobiłem rejestracje i logowanie na bazie danych i nie wiem jak zrobić przypominania hasła proszę o pomoc.
Go to the top of the page
+Quote Post
atomek4
post
Post #2





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


Cześć

jeśli hasło nie jest kodowane w bazie danych to możesz je wysłać na podany przy rejestracji adres e-mail. Jeśli jednak jest kodowane to można wysyłać na @ jakieś wygenerowane losowo a potem (jeśli przewidziałeś taką możliwość) użytkownik sobie je zmieni po zalogowaniu np. na prostsze.

Oczywiście żeby otrzymać przypomnienie użytkownik powinien podać prawidłowy i obecny w bazie danych login/adres e-mail.

Pozdrowienia

Ten post edytował atomek4 14.08.2007, 18:45:36
Go to the top of the page
+Quote Post
strife
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Było, trzymaj w bazie wygenerowany jakiś salt w polu użytkownika, a następnie przy próbie przypomnienia hasła wysyłaj do użytkownika mail w takiej formie:

Kod
?action=remember&user=strife&hash=9743a66f914cc249efca164485a19c5c


Potem sprawdzasz w bazie czy do tego usera pasuje ten hash, jeśli tak generujesz mu nowe hasło, albo pokazujesz formularz, w którym sobie może wpisać nowe hasło, proste smile.gif

Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
Magik125
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.06.2007

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


A jak zrobić dokładnie to co ty mówisz o tym:

?action=remember&user=strife&hash=9743a66f914cc249efca164485a19c5c

Ten post edytował Magik125 14.08.2007, 19:17:10
Go to the top of the page
+Quote Post
PanGuzol
post
Post #5





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Pytasz się użytkownika o podanie Loginu i maila na którym zarejestriował konto.
Jeśli dane sie zgadzaja to generujesz losowy ciąg znaków

  1. <?php
  2. $token = md5(uniqid(rand(), true));
  3. ?>


Zapisujesz go sobie w bazie danych wraz z jego loginem oraz wysyłasz mu maila z linkiem do skryptu który sprawdzi token i wyświetli mu formularz gdzie wpisze sobie nowe hasło.


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Przy rejestracji, generujesz salt i dodajesz w dodatkowym polu w mysql, generujesz przez md5 naprzykład w ten sposób:

  1. <?php
  2. $salt = md5(time());
  3. ?>


Następnie gdy użytkownik zapomni hasła, to wysyłasz mu link na jego adres email, który podał w rejestracji do resetu hasła. Potem sprawdzasz, czy ten salt zgadza się z tym w bazie i na tej podstawie generujesz mu nowe hasło, albo podajesz formularz, aby mógł sobie sam wpisać, czego tutaj nie rozumiesz? smile.gif

Pozdrawiam.


--------------------
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 Aktualny czas: 20.08.2025 - 12:47