Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sensowne 'zapomniałem hasła'
tmk
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


Witam,
jaki jest sensowny sposób na zrobienie opcji "zapomniałem hasła"?
mam zrobione logowanie php+mySql na sesjach, w bazie trzymam login i md5(hasło).

Myślalem o tym, żeby użytkownik podawał email i login, i jeśli taki istnieje w bazie, to dla konta o takim email i login zrobić Update:
zapomniane hasło zamienić na jakieś losowe i wysłać mail z nowym hasłem.

Ale chyba powinna być jeszcze jakaś aktywacja tego nowego hasła? czy myślicie, że nie jest to konieczne?

z góry dzięki za opinie

tmk
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomilipin
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

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


Cytat(jono @ 2005-02-08 19:55:34)
Co do losowego hasła:
  1. <?php
  2.  
  3. $nowe = substr(md5(uniqid(rand(), true)), rand(0,10), 5);
  4.  
  5. ?>
[...] Po co robić jakieś tablice, skoro są gotowe rozwiązania do tego.
Sorry, że odpowiadam trochę po czasie, ale powiem wam jak zrobiłem to ja, chociaż zaawansowany nie jestem.

Nowe hasełko można wygenerować za pomocą
  1. <?php
  2. $nowehaslo = uniqid(' ');
  3. ?>
Co da w rezultacie ciąg 13 cyfr i liter wygenerowany na podstawie aktualnego czasu + może dodać ciąg zawarty w atrybutach.

W bazie, dla każdego usera warto zapisywać jego status, np. 0 to user nieaktywny, 1 - aktywny, 2 - była prośba o zmianę hasła. Gdy status=0 to do usera nie wysyłamy wiadomości newslettera. Gdy status=1 wiadomo, a gdy status=2 możemy wysłać wiadomości np. newslettera bo ktoś, nie wiadomo kto, próbował usunąć konto/zmienić dane/zrobić cokolwiek co wymaga potwierdzenia ale jeszcze tego nie potwierdził. I gdy status=2 a user potwierdza co tam chciał to wtedy zmieniamy mu status na inny albo usuwamy rekord. Statusy mogą się różnić w zależności od potrzeb, zawsze może być ich więcej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Tak robię swój newsletter, który działa na tekstowej bazie danych a który wymaga potwierdzenia dodania/usunięcia adresu e-mail i umożliwia to za pomocą linków w mailach oraz za pomocą formularza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jeśli ktoś zgubi klucz potwierdzenia, usunie maila czy cokolwiek innego, to dopóki status nie równa się 1 - może wysłać do siebie nowy klucz, inny od poprzedniego.
http://www.pil.vectranet.pl/~tomilipin/newsletter/index.php

Ten post edytował tomilipin 17.11.2005, 22:45:31
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 24.12.2025 - 05:58