Czytajac tego tutoriala wszystk wydaje się bardzo proste, ale w rzeczywistości jest trochę inaczej…
Good PHP Tutorials – Sending Forgotten Password
Jak zapewne zauważyliście hasło w bazie nie jest kodowane, więc w dzisajszych czasach jest to trochę niebezpieczne. Ja pisząc cos takiego nie używałbym do identyfikacji użytkownika tylko e-mail’a, to po pierwsze, bo identyfikacja na podstawie tylko jednej danej to jak dla mnie straszna głupota! Przynajmniej 2 lub 3 dane powinny znajdować się w takim formularzu odzyskiwania hasła, plus dodatkowe zabezpieczenie oczywiście przy rejestracji przed powielaniem kont z jednym e-mail’em czy poprawką na identyczne loginy.
Dodatkowo zamiast odzyskiwania hasla, co w przypadku zakodowanych haseł jest dosyć trudne, powinno następować wysyłanie nowego, generowaneg losowo, hasła.
Na przykład czymś takim:
< ?
$rozmiar = 6;
$znaki = ">
{
$pass .= substr($znaki,(rand()%(strlen($znaki))),1);
}
$pass_md5 = md5($pass);
?>
Zmienną znaki można dowolnie sobe modyfikować do własnych potrzeb. Teraz wystarczy wysłać użytkownikowi hasło, czyli zmienna $pass, a do bazy w miejsce starego hasla zapisać nowe, zakodowane, czyli $pass_md5.
Dodatkowo można wykorzystać generowane losowo linki, tokeny, czy też inne formy zabezpieczeń przed nieporządanym dostępem do prywatnych danych naszych użytkowników.
Pamiętajcie! Bezpieczeństwo przede wszystkim!
