Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie oparte na sql i md5
Hubi.pl
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 16.10.2004
Skąd: Poznań

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


Witam,
mam taki kod:
  1. <?php
  2.  
  3. include (&#092;"function.php\");
  4. polacz();
  5. ///test danych //////
  6. echo $login; ////////
  7. echo $haslo; ////////
  8. echo '<br>'; ////////
  9. echo '<br>'; ////////
  10. /////////////////////
  11.  
  12. if(!empty($login)) {
  13.  
  14. $query = mysql_query(&#092;"select login from klient where login='$login'\");
  15. $wiersz = mysql_fetch_array($query);
  16. echo $wiersz['login'];
  17. echo '<br>';
  18. if ($login == $wiersz['login']) 
  19. {
  20. $query2 = mysql_query(&#092;"select haslo from klient where login='$login'\");
  21. $wiersz2 = mysql_fetch_array($query2);
  22.  
  23. ///////////TEST//////////////
  24. echo $wiersz2['haslo'];
  25. echo '<br>';
  26. md5(&#092;"$haslo\") == $pass; // kodowanie md5
  27. echo $pass; // nie wyświetla się hasło zakodowane w md5 :(
  28. echo '<br>';
  29. ///////////TEST//////////////
  30.  
  31. if ($pass == $wiersz2['haslo'])
  32. {
  33. echo(&#092;"zalogowałeś się!\");
  34. }
  35. else
  36. {
  37. echo(&#092;"podałeś złe hasło!\");
  38. }
  39. }
  40. else
  41. {
  42. echo(&#092;"taki login nie istnieje!\");
  43. }
  44.  
  45. }
  46. else
  47. {
  48. <form action=\"\" method=\"post\">
  49.  Login: <input type=\"text\" name=\"login\"/><br/>
  50.  Hasło: <input type=\"password\" name=\"haslo\"/><br/>
  51.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  52. </form>';
  53. }
  54.  
  55. ?>


Problem polega na tym, że hasło z formularza nie chce mi się zakodować w md5 żeby mogło zostać zweryfikowane z hasłem z bazy sql.

Co źle zrobiłem?

Pozdrawiam winksmiley.jpg


--------------------
http://www.creneo.pl || http://www.hubi.pl
Go to the top of the page
+Quote Post
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Troszkę zmodyfikowałem - powinno działać.
  1. <?php
  2.  
  3. include (&#092;"function.php\");
  4. polacz();
  5. ///test danych //////
  6. echo $login; ////////
  7. echo $haslo; ////////
  8. echo '<br>'; ////////
  9. echo '<br>'; ////////
  10. /////////////////////
  11.  
  12. if(!isset($login)) { // XXX: isset zamiast empty
  13. $query = mysql_query(&#092;"select login, haslo from klient where login='$login'\");
  14. if (mysql_num_rows($query))
  15. {
  16. $wiersz = mysql_fetch_assoc($query);
  17. ///////////TEST//////////////
  18. echo $wiersz['login'];
  19. echo '<br>';
  20. echo $wiersz['haslo'];
  21. echo '<br>';
  22. $pass=md5($haslo); // kodowanie md5 XXX: Tutaj troszkę zmieniłem - coś było namieszane
  23. echo $pass; // nie wyświetla się hasło zakodowane w md5 :(
  24. echo '<br>';
  25. ///////////TEST//////////////
  26.  
  27. if ($pass == $wiersz['haslo'])
  28. {
  29. echo(&#092;"zalogowałeś się!\");
  30. }
  31. else
  32. {
  33. echo(&#092;"podałeś złe hasło!\");
  34. }
  35. }
  36. else
  37. {
  38. echo(&#092;"taki login nie istnieje!\");
  39. }
  40. }
  41. else
  42. {
  43. <form action=\"\" method=\"post\">
  44.  Login: <input type=\"text\" name=\"login\"/><br/>
  45.  Hasło: <input type=\"password\" name=\"haslo\"/><br/>
  46.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  47. </form>';
  48. }
  49.  
  50. ?>


Ten post edytował Jabol 31.07.2005, 22:03:38
Go to the top of the page
+Quote Post
Hubi.pl
post
Post #3





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 16.10.2004
Skąd: Poznań

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


teraz jest dobrze i działa.. winksmiley.jpg
ale... coś ten md5 jest jeszcze nie tak:
Kod
bvb
5d35ee739e0ef7fed39be900453f89     //hasło za bazy
5d35ee739e0ef7fed39be900453f8957 // hasło z formularza
podałeś złe hasło!


Dlaczego one się różnią?

pzdr.


--------------------
http://www.creneo.pl || http://www.hubi.pl
Go to the top of the page
+Quote Post
aleksander
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


bo w bazie masz pole (VAR)CHAR na 30 znakow a mf5 daje 32 znaki. zwieksz pole w bazie do 32 znakow i git:)


BTW moj 500tny post winksmiley.jpg
Go to the top of the page
+Quote Post
Hubi.pl
post
Post #5





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 16.10.2004
Skąd: Poznań

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


ooo dzięki faktycznie miałem 30 znaków biggrin.gif

ale zrobiłem:
  1. <?
  2. $pass = md5(&#092;"$haslo\"); // kodowanie md5
  3. $passw = substr($pass,0,30);
  4. ?>

i też pomogło smile.gif

pzdr.


--------------------
http://www.creneo.pl || http://www.hubi.pl
Go to the top of the page
+Quote Post
Slump
post
Post #6





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 3.01.2004
Skąd: Iława

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


Bo przycina wszystko co jest powyzej 30 znaku ale lepiej zmien pole w db a to wywal bedzie pewniej smile.gif

I ps polecam zmiane na sh1 ale to juz inna sprawa.
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 Aktualny czas: 20.08.2025 - 12:33