![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 13.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Budujac strone z systemem kont natrafilem na maly problem. Otoz szukam skryptu czy jakiegos nakierunkowania na rozwiazanie takiego oto problemu: user zapomina hasło, podaje swoj nick/email, haslo jest resetowane ale dopiero po kliknieciu linka otrzymanego mailem. Do tej pory udalo mi sie stworzyc jedynie system ktory generuje losowe 16 znakowe haslo, robi updejt w bazie i wysyla owe haslo do usera, ale w takim ukladzie kazdy moze zresetowac haslo innego uzytkownika. Domyslam sie, ze moze chodzic o jakies tokeny czy cos podobnego? Szukalem tu na forum ale bez skutku a jak na google wpisuje resetowanie hasla to listuje mi milion for z linkami do resetu haseł. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 110 Pomógł: 10 Dołączył: 3.09.2006 Skąd: Bishop Auckland Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie nowe pole w tabeli użytkowników, które będzie zawierało powiedzmy 16 znakowy ciąg (generowany losowo). Domyślnie użytkownik ma to pole puste. Jednak, przy wybraniu opcji zmiany hasła pole jest uzupełniane o losowy ciąg, a do użytkownika wysyła się e-mail z linkiem do skryptu, wartością tego pola oraz dla bezpieczeństwa dodatkowo ID usera. Po wejściu przez taki link pole w bazie jest weryfikowane i na powrót czyszczone. W tym momencie masz kilka możliwości:
- podanie użytkownikowi możliwości wpisania nowego hasła bezpośrednio na stronie (po wpisaniu zostanie zmienione) - zmiana aktualnego hasła na jakieś losowe i wyświetlenie go lub (bezpieczniejsze) wysłanie na e-mail. To chyba jedno z najprostszych rozwiązań jakie da się wymyślić ![]() Ten post edytował l0ud 25.05.2009, 20:49:04 -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Robisz coś takiego:
I tak, tworzymy hasza dla usera, i wysylamy do niego linka z tym haszem, jezeli kliknie na takiego hasza to wtedy po haszu sprawdzasz id usera, i zmieniasz mu haslo. Proste, pozdrawiam. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 13.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
OK, rozumiem Wasz tok myslenia. W tym momencie sprawa rozbija sie o stworzenie takiego wlasnie linka z haszem oraz powiazanie tego z faktem klikniecia na ten link. Nie wiem jak sie za to zabrac. Okej tworze tego hasza przez jakis tam algorytm, sprawa drugorzedna, robie ta powiedzmy temp_tabele, i uzupelniam ją tym haszem, ale wlasnie nie wiem jak przekazac bazie fakt wejscia na dany link...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
No jak jak? Przeciez to jest proste, link bedzie mial jakis get tak? Wiec np index.php?haslo=reset&hasz=436gk436k34g6g454fkjgisdytgfoisdghtrlwkrjg
no i co? mamy w pliku index.php jakies tam switche ify czy co, i jezeli jest get haslo i zawiera reset to sprawdzamy czy dany hasz znajduje sie w bazie, znajduje, to resetujemy haslo usera, przekierowywujemy go na strone z resetowaniem hasla i po id usera zmienamy haslo, po tym wszystkim kasujemy z bazy wiersz. Amen. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.05.2025 - 08:31 |