Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > Przedszkole
Hectic
Czy może mi ktoś powiedzieć czy jest to poprawny kod funkcji logowania?

  1. <?
  2. $login=$_POST['login'];
  3. $password = md5($_POST['password']);
  4.  
  5. $result = mysql_query ("SELECT password FROM `admin` WHERE login = '$login' "); // pobranie hasła do podanego loginu
  6. $pas = mysql_fetch_array($result);
  7.  
  8.  
  9.  
  10. <form method="post">
  11. <table border="0" cellspacing="0" cellpadding="0">
  12. <tr>
  13. <td height="5"></TD>
  14. </tr>
  15. <tr>
  16. <td>Login: </td>
  17. <td width="5"></td>
  18. <td colspan="2"><input type="Text" name="login"></td>
  19. </tr>
  20. <tr>
  21. <td height="5"></TD>
  22. </tr>
  23. <tr>
  24. <td>Hasło: </td>
  25. <td width="5"></td>
  26. <td><input type="password" name="password"></td>
  27. </tr>
  28. <tr>
  29. <td height="5"></TD>
  30. </tr>
  31. <tr>
  32. <td colspan="3" align="center"><input type="Submit" name="submit" value="Wyślij"></td>
  33. </tr>
  34. </table></form>';
  35.  
  36. if ($password == $pas['password'])
  37.  
  38. echo'Hasło ok';
  39.  
  40. else 
  41.  
  42. echo 'Złe hasło';
  43. ?>


////Edit

hasło jest kodowane w MD5 tongue.gif
nospor
zapoznaj sie z tym tematem, a zobaczysz co masz nie tak:
http://forum.php.pl/index.php?showtopic=23258&st=0

te tez ci sie przydadzą:
http://forum.php.pl/index.php?showtopic=30056
no i ten tez moze:
http://forum.php.pl/index.php?showtopic=42668&st=0

Cytat
////Edit

hasło jest kodowane w MD5
laugh.gif dzieki za cynk winksmiley.jpg
Hectic
Jeśli chodzi o to http://forum.php.pl/index.php?showtopic=23258&st=80 to jest tam tyle rozwiązań, że w końcu sam nie wiem co zrobić. Może powiesz mi która metoda jest najlepsza? I nie jest to system dla userów, a tylko logowanie do panelu admina. Więc zmiany hasła nie będzie tongue.gif
Pronigo
Przyłączam się do prośby kolegi, bo mam podoby problem winksmiley.jpg
nospor
No panowie, chyba nie myslicie ze będe wam streszczal topic winksmiley.jpg
Podpowiem ze rozwiązanie jest juz na pierwsze stronie i często pojawia się tam nazwa pewnej funkcji a nazywa sie ona mysql_escape_.... winksmiley.jpg
pozatym w zaleznosci od sytuacji nalezy wybrac rozne warianty
qbejs
Masz tu mój sprawdzony system smile.gif Jedyne co musisz zrobić to ustanowić połączenie z bazą i w sumie tyle smile.gif Dodatkowo skrypt obsługuje obsługę zapamiętywania usera oraz poziomy dostępu ( pole level ).

  1. <?php
  2. if (isset($_POST['loginsend']))
  3. {
  4. //$cookie=$_POST['save'];
  5. $login=htmlspecialchars(trim($_POST['login']));
  6. $check_login=mysql_query("SELECT login FROM `user_test` WHERE login='".$login."'");
  7. $login_result=mysql_fetch_array($check_login);
  8. if ($login_result['login'] = 1)
  9. {
  10. $login=htmlspecialchars(trim($_POST['login']));
  11. $pass=md5(md5($_POST['pass']));
  12. $check_user=mysql_query("SELECT count(*) FROM `user_test` WHERE login='".$login."' AND pass='".$pass."';");
  13. $if_ok=mysql_result($check_user, 0);
  14. if ($if_ok == 1)
  15. {
  16. $session_data="SELECT * FROM `user_test` WHERE login='".$login."'";
  17. $result=mysql_fetch_array(mysql_query($session_data));
  18. session_register('login');
  19. $_SESSION['login']=$_POST['login'];
  20. session_register('level');
  21. $_SESSION['level']=$result['level'];
  22. //echo '<META HTTP-EQUIV="refresh" CONTENT="3" URL="done.php">';
  23. echo 'Zalogowano pomyslnie - nastapi przeladowanie strony...';
  24.  
  25. $cookie=$_POST['save'];
  26. if ($cookie = 1)
  27. {
  28.  $dane=$login.'|'.$pass;
  29.  setcookie ("dane", $dane,time()+3600*24*365);
  30. }
  31. }
  32. }
  33. else
  34. print "Nie ma takiego użytkonika !";
  35.  
  36.  
  37.  
  38.  
  39.  
  40. }else
  41. include ('login.php');
  42.  
  43. ?>
nospor
@qbejs
Cytat
Masz tu mój sprawdzony system
Kto go sprawdzil? na czym się sprawdzil? Niedawno dales go do oceny. śmiem podejrzewac ze nie jest on jednak sprawdzony.

  1. <?php
  2. $login=htmlspecialchars(trim($_POST['login']));
  3. ?>
Widze że nie zapoznales się z topiciem, do ktorego podalem linka w mym pierwszym poście.

  1. <?php
  2. $pass=md5(md5($_POST['pass']));
  3. ?>
Juz chyba o tym rozmawialismy:
http://forum.php.pl/index.php?showtopic=42615&hl=
Przestań to rozpowszechniac, bo naprawdę ktos uwierzy ze to prawda.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.