Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MD5 i hasła w bazie
primo
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

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


Witam,

zachciało mi się przerabiać skrypt, aby hasła w bazie były odczytywane poprzez funkcję MD5. W tym celu poprzez polecenie:

UPDATE `user` SET `userpassword` = MD5(`userpassword`) zmodyfikowałem hasła w bazie. Wziąłem się teraz za przerabianie skryptu i napotkałem problemy.

  1. <?php
  2. function auth_user($userid, $userpassword) {
  3.  global $default_dbname, $user_tablename;
  4.  
  5.  $link_id = db_connect($default_dbname);
  6.  $query = &#092;"SELECT username FROM $user_tablename 
  7.  WHERE userid =&#092;".addslashes($_POST['userid']).\"
  8.  AND userpassword = MD5(&#092;".$_POST['userpassword'].\")\";
  9.  
  10.  $result = mysql_query($query);
  11.  if(!mysql_num_rows($result)) return 0;
  12.  else {
  13. $query_data = mysql_fetch_row($result);
  14. return $query_data[0];
  15.  }
  16. }
  17. ?>


poprawiłem skrypt i zdawać by się mogło, że powinni działać, ale niestety ciągle wyskakuje, iż autoryzacja nieudana. Czy błąd tkwi w tej funkcji, widzi ktoś jakieś niedopatrzenie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Proszę o pomoc, z góry dziękuję.

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JOHNY
post
Post #2





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


  1. <?
  2. require &#092;"config.php\";
  3. // zapisanie zmiennych do sesji
  4. $pass2 = md5(stripslashes($_POST['haslo']));
  5.  $query2 = &#092;"SELECT * FROM admin WHERE konto_nick='$nick' AND konto_pass='$pass2'\";
  6.  $wynik2 = mysql_query($query2);
  7.  while($row = mysql_fetch_array($wynik2)) {
  8.  $pass=$row['konto_pass'];
  9. }
  10. // check auth
  11. function auth_user($nick, $pass) {
  12. $pass = md5(stripslashes($_POST['haslo']));
  13.    $query = &#092;"SELECT * FROM admin WHERE konto_nick='$nick' AND konto_pass='$pass'\";
  14.    $wynik = mysql_query($query);
  15.  
  16. if (!mysql_num_rows($wynik)) return 0;
  17.   else {
  18.     $query_data = mysql_fetch_row($wynik);
  19.     return $query_data[0];
  20.       }
  21.    }
  22.  
  23.  function login_form() {
  24.  
  25. ?>
  26.  
  27.  <CENTER>
  28.     <FORM ACTION=\"index.php\" METHOD=\"POST\">
  29.     <TABLE width=\"184\">
  30.     <TR>
  31.     <TD width=\"86\" align=\"right\" class=\"tekst-black-bold\">UŻYTKOWNIK:</TD>
  32.     <TD width=\"86\"><INPUT TYPE=\"text\" NAME=\"nick\" SIZE=\"10\" class=\"pole\"></TD>
  33. </TR>
  34. <TR>
  35.     <TD align=\"right\" class=\"tekst-black-bold\">HASŁO:</TD>
  36.     <TD><INPUT TYPE=\"password\" NAME=\"haslo\" SIZE=\"10\" class=\"pole\"></TD>
  37. </TR>
  38. <TR>
  39.     <TD align=\"center\"><INPUT TYPE=\"submit\" VALUE=\"\" NAME=\"username\" class=\"zaloguj\"></TD>
  40.     <TD align=\"center\"><INPUT TYPE=\"reset\" VALUE=\"\" class=\"wyczysc\"></TD>
  41. </TR>
  42. </TABLE>
  43. </FORM></CENTER>
  44. <?
  45. }
  46.  
  47. if(!isset($_POST['nick']) AND !isset($_POST['pass'])) {
  48.   login_form();
  49.   exit;
  50. }
  51. else {
  52.   session_register(&#092;"nick\", \"pass\");
  53.   $username = auth_user($_SESSION['nick'], $_SESSION['pass']);
  54.   if(!$username) {
  55. session_unregister(&#092;"nick\");
  56. session_unregister(&#092;"pass\");
  57.     echo &#092;"<CENTER><div class=\"tekst-black-bold\">AUTORYZACJA NIEUDANA</div></CENTER>\";
  58.     exit;
  59.   } else
  60.    echo &#092;"<CENTER><div class=\"tekst-black-bold\"><span class=\"naglowek\">$nick</span> WITAMJ, W PANELU ADMINISTRACYJNYM</div></CENTER>\";
  61. }
  62.  
  63. ?>


Ja mam tak i u mnie działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował JOHNY 11.09.2004, 12:51:10
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 23:57