Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie usera i hasla z bazy za pomocą md5
yogitubadzin
post 7.04.2010, 09:35:40
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 24.01.2010

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


Witam mam taki problem, np mam skrypt ktory mi rejestruje uzytkownika do bazy, jesli haslo nie jest zahaszowane to skrypt
linijka 8, zapytanie sql:
"SELECT * FROM uzytkownicy WHERE email = '%s' AND haslo = '%s';",

http://wklejto.pl/63053

działa bez problemu!

Jeśli rejestruje i wstawiam metodą md5, lub SHA to nie chce mi się zalogować i nie wiem dlaczego
Bardzo proszę o pomoc.

linijka 8, zapytanie sql:
"SELECT * FROM uzytkownicy WHERE email = '%s' AND haslo = md5('%s');",

http://wklejto.pl/63054

Hasła umiem rozpoznawać w bazie czy są zahaszowane czy nie wiec pewnie zapytania sql sa zle...
Pozdrawiam

Początkujący
Go to the top of the page
+Quote Post
tehaha
post 7.04.2010, 09:51:20
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


do zapytania używasz mysql_real_escape_string($haslo) i wstawiasz do md5, czyli wychodzi md5(mysql_real_escape_string($haslo)), a powinno byc na odwrot: mysql_real_escape_string(md5($haslo)) to do tego co wkleiłeś w poście,

a teraz to co w linku to nie widzę żebyś przekazywał do funkcji zmienną $hash , którą używasz do hasła
Go to the top of the page
+Quote Post
yogitubadzin
post 7.04.2010, 10:03:47
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 24.01.2010

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


zmienna $hash jest w komentarzu a dalem tak
http://wklejto.pl/63059
tez nie dziala:(
Go to the top of the page
+Quote Post
tehaha
post 7.04.2010, 10:14:47
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


bo teraz to już podwójnie hashujesz hasło, poza tym w zapytaniu md5() wstawiłeś jako ciąg znaków a nie funkcje więc nic dziwnego że nie działa
1. zrób tak
  1. $qry = sprintf( //potrzebuje 2 czesci parametrow
  2. "SELECT * FROM uzytkownicy WHERE email = '%s' AND hash ='%s';",
  3. mysql_real_escape_string($email),//jedno %s zastapiany przez $username
  4. mysql_real_escape_string(md5($haslo))//druga %s zastapiany przez $password
  5.  
  6. );


2. żeby to działało musisz w takiej samej formie wprowadzić hasło do bazy danych

p.s. wstawiaj kod na forum bo tu jest kolorowanie składni

Ten post edytował tehaha 7.04.2010, 10:15:47
Go to the top of the page
+Quote Post
Spawnm
post 7.04.2010, 10:17:53
Post #5





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




jak dajesz md5 to nie musisz już dawać escape_string.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 22:48