![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 0 Dołączył: 16.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
mam system rejestracji i logowania. jest w nim zapisywanie zakodowanego hasła i działa jak należy. problem zaczyna się gdy trzeba się zalogować. przyjrzałem się problemowi i doszedłem do wniosku że hasło mimo wszystko nie jest rozkodowywane. oto kod odpowiadający za odczytywanie zakodowanego hasła:
jak przy logowaniu wstawie zamiast normalego hasła to zakodowane to można się zalogować. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 0 Dołączył: 16.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
źle się rozumiemy. hasło JUŻ W BAZIE DANYCH JEST ZAKODOWANE, więc do zmiennej $haslo jest pobierane jako ciąg znaków (czyli jakiś kod). wpisanie:
powoduje iż jest błąd logowania gdyż hasła się nie zgadzają. gdy wstawię hasło zakodowane (skopiowane z bazy danych) to mogę się normalnie zalogować |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
źle się rozumiemy. hasło JUŻ W BAZIE DANYCH JEST ZAKODOWANE, więc do zmiennej $haslo jest pobierane jako ciąg znaków (czyli jakiś kod). wpisanie:
powoduje iż jest błąd logowania gdyż hasła się nie zgadzają. gdy wstawię hasło zakodowane (skopiowane z bazy danych) to mogę się normalnie zalogować Pierwsza rzecz.. funkcja PASSWORD koduje ciąg znaków do hash'a (nie działa w drugą stronę!) .. tak więc porównanie w WHERE haslo = PASSWORD('$haslo_wpisane') jak najbardziej porównuje dwa hash'e i zakładając, że hasło, które jest bazie, zostało dodane w postaci hasha wygenerowanego za pomocą tej samej funkcji PASSWORD() walidacja powinna przebiegać poprawnie. Ten post edytował mariuszn3 4.08.2006, 17:02:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 14:40 |