![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 23.03.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam. kombinuje już od pewnego czasu i nic mi nie wychodzi... potrzebuje skryptu do zmiany hasła. Logowanie zrobiłem za pomocą sesji
na stronie umieszczam
w bazie danych posiadam Kolumny: id_user, login, password tylko nie wiem jak pobrać id i jak zrobić żeby sprawdziło stare hasło i zaktualizowało. za pomoc byłbym bardzo wdzięczny. z góry dziękuje ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hasło powinno być zakodowane jednokierunkowo czyli nie powinno być możliwości jego odzyskania. Zatem zmiana hasła sprowadza się do wygenerowania nowego dla danego użytkownika. A skoro masz tylko login i hasło to nie sprawdzisz bez poprawnego zalogowania czy użytkownik ma do zmiany prawo.
1. Jeśli jest zalogowany to tworzysz nowy formularz i później update najlepiej z http://php.net/manual/pl/function.password-hash.php 2. Jeśli nie jest zalogowany to powinien dostać potwierdzenie na maila. Po kliknięciu w link patrz 1. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 23.03.2016 Ostrzeżenie: (0%) ![]() ![]() |
OK, ja chce prosty formularz natomiast jak zrobić żeby sprawdzało mi czy haslo stare jest dobre jezeli tak zeby robilo update i kodowalo md5
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
$_SESSION['auth'] == TRUE oznacza zalogowanego. Robisz mu zatem formularz hasło/powtórz hasło i poźniej
UPDATE users SET password = MD5(?) WHERE id_user = ? -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Broń Cię panie @viking.
Aby zmienić hasło powinno się podawać stare (mowa o świadomym zmienianiu hasła przy założeniu że pamięta się stare). Podając stare hasło oraz nowe 2x(potwierdzenie zgodności, czy nie ma literówki itd) szukasz rekordu login == $login && password == $password. Dopiero jak został znaleziony rekord to zmieniasz. Nie można polegać na tym że user jest zalogowany, bo to bardzo niebezpieczne. Odzyskiwanie hasła to inny temat, tam generujesz hash, wysyłasz go na mejla a potem wchodzi na odpowiednią stronę z tym hashem. Jeśli się zgadza to podajesz nowe hasło i zapisujesz w BD. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.05.2025 - 06:12 |