WItam,

Napisałem prosty skrypt logowania.
Proszę o opinie co można zmienić żeby podnieść bezpieczeństwo

  1. <?php
  2.  
  3. if (!isset($_SESSION['inicjuj']))
  4. {
  5. $_SESSION['inicjuj'] = true;
  6. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  7.  
  8. }
  9. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  10. {
  11. die();
  12. }
  13.  
  14.  
  15. require('langs/lang.class.php');
  16. $txt='';
  17. if ($_SESSION['login'] == "zalogowany")
  18. {
  19. include("include/header.php");
  20. }
  21. else
  22. {
  23. $txt.="<FORM action=\"index.php\" method=\"POST\">";
  24. $txt.="<TABLE align=\"center\" bgcolor=\"#fffaaa\" border=\"0\" width=\"350px\" CELLPADDING=\"2\" CELLSPACING=\"2\">";
  25. $txt.="<TR>
  26. <TD>
  27. <h2>". __('login_nazwa')."</h2>
  28. ".__('login_login')."<br />
  29. <input type=\"textbox\" name=\"u\" size=\"15\">
  30. </TD>
  31. </TR>
  32. <TR>
  33. <TD>".__('login_pass')."<br />
  34. <input type=\"password\" name=\"p\" size=\"15\">
  35. <input type=\"hidden\" name=\"log\">
  36. </TD>
  37. </TR>
  38. <TR>
  39. <TD>
  40. <br />
  41. <input class=\"wyslij_formularz\" align=\"center\" type=\"submit\" name=\"submit\" value=\"".__('login_zaloguj')."\">
  42. </TD>
  43. </form>";
  44.  
  45. if (isset($_POST['log']))
  46. {
  47. #--pobranie danych dotyczących logowania
  48. $login = $_POST['u'];
  49. $pass = $_POST['p'];
  50. #--sprawdzenie czy wsyzstkie dane są wpisane
  51. if(empty($login) || empty($pass))
  52. {
  53. $txt.="<tr><td>";
  54. $txt.=__('login_blad');
  55. $txt.="</td></tr>";
  56. }
  57. else
  58. {
  59. #--kodowanie hasła
  60. $pass = sha1($pass);
  61.  
  62. require("!konfiguracja/bd.php");
  63. $logowanie=mysql_query("SELECT u_id FROM users WHERE u_login='$login' AND u_haslo='$pass'");
  64. if(mysql_num_rows($logowanie)==0)
  65. {
  66. $txt.="<tr><td>";
  67. $txt.=__('login_blad2');
  68. $txt.="</td></tr>";
  69. }
  70. else
  71. {
  72. $row = mysql_fetch_array($logowanie);
  73. $_SESSION['login'] = "zalogowany";
  74. $_SESSION['id'] = $row['u_id'];
  75. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  76. header("Location:index.php");
  77. }
  78.  
  79. }
  80. }
  81. $txt.="</table>";
  82. echo $txt;
  83. }
  84.  
  85. ?>