Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt logowania
Forum PHP.pl > Forum > PHP
qba10
  1. <?php
  2. if( isset($_POST['pamietaj']) AND $_POST['pamietaj'] == "ok") { 
  3. setcookie("JumpPHP_".md5('login'),md5(strtolower($_POST['login'])) ,time()+60*60*24*30);
  4. setcookie("JumpPHP_".md5('haslo'),md5($_POST['haslo']) ,time()+60*60*24*30);
  5. }
  6. if(eregi("config.php",$_SERVER['PHP_SELF']) OR eregi("config.php",$_SERVER['QUERY_STRING'])) 
  7.  { header("Location: /"); die(); }
  8.  
  9.  
  10.  
  11. $_CONFIG['MySQL']['host'] = "allalalal"; 
  12. $_CONFIG['MySQL']['user'] = "bebebebbe"; 
  13. $_CONFIG['MySQL']['pass'] = "zapomniałem"; 
  14. $_CONFIG['MySQL']['base'] = "fajna"; 
  15.  
  16. if(!isset($_SESSION['sesja'])) { 
  17.  $_SESSION['sesja'] = ''; 
  18. }
  19.  
  20.  
  21. @mysql_connect($_CONFIG['MySQL']['host'], $_CONFIG['MySQL']['user'], $_CONFIG['MySQL']['pass']) or die('<html> 
  22. <head> 
  23.  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> 
  24. <title>Error - Jump PHP</title> 
  25. <style type="text/css"> 
  26. body { background: #FFFFFF; } 
  27. div { font-family: Verdana, Arial; font-size: 12px; color: #000000; } 
  28. </style> 
  29. </head> 
  30. <body> 
  31. <div> 
  32. Przepraszamy, wystąpiła chwilowa awaria serwisu.<br> 
  33. <br> 
  34. <b>Nie mogę połączyć się z serwerem bazy danych.</b><br> 
  35. <br> 
  36. Proszę powiadom <a href="mailto:qba100@gmail.com">Wemastera qba100@gmail.com</a>. 
  37. </div> 
  38. </html>'); 
  39.  
  40.  
  41. @mysql_select_db($_CONFIG['MySQL']['base']) or die('<html> 
  42. <head> 
  43.  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> 
  44. <title>Error</title> 
  45. <style type="text/css"> 
  46. body { background: #FFFFFF; } 
  47. div { font-family: Verdana, Arial; font-size: 12px; color: #000000;} 
  48. </style> 
  49. </head> 
  50. <body> 
  51. <div> 
  52. Przepraszamy, wystąpiła chwilowa awaria serwisu.<br> 
  53. <br> 
  54. <b>Nie mogę odnaleść bazy Danych.</b><br> 
  55. <br> 
  56. Proszę powiadom <a href="mailto:qba100@gmail.com">Wemastera qba100@gmail.com</a>. 
  57.  </div> 
  58. </html>'); 
  59.  
  60. function login() { 
  61. global $_CONFIG; 
  62.  
  63.  
  64.  if ('ok' == $_COOKIE['zalogowany'] AND md5('ok') != $_SESSION['zalogowany']){
  65.  $_SESSION['zalogowany'] = md5('ok') ;
  66.  }
  67.  if (md5('ok') != $_COOKIE['zalogowany'] AND md5('ok') != $_SESSION['zalogowany']){
  68.  
  69.  
  70. if(isset($_POST['login']) AND isset($_POST['haslo'])) { 
  71. $login = md5(strtolower($_POST['login'])); 
  72. $haslo = md5($_POST['haslo']); 
  73. $metod = "post"; 
  74. }
  75. elseif(isset($_COOKIE['JumpPHP_'.md5('login')]) AND isset($_COOKIE['JumpPHP_'.md5('haslo')])) { 
  76.  $login = $_COOKIE['JumpPHP_'.md5('login')]; 
  77. $haslo = $_COOKIE['JumpPHP_'.md5('haslo')]; 
  78. $metod = "cookies"; 
  79. } 
  80.  
  81. if(isset($metod)) { 
  82. $query = mysql_query("SELECT `user`,`pass`,`nick`,`lvl`,`u1` ,`u2` ,`u3` ,`u4` ,`u5` ,`u6`,`u7` ,
    `nazwisko` ,`email` ,`data` FROM `users` WHERE `user`='"
    .$login."' AND `pass`='".$haslo."';"); 
  83.  if(mysql_num_rows($query) == 1) { 
  84. $wiersz = mysql_fetch_array($query);
  85. $_SESSION['zalogowany'] = md5('ok'); 
  86.  $_SESSION['login'] = $wiersz['user']; 
  87. $_SESSION['haslo'] = $wiersz['pass']; 
  88. $_SESSION['nick'] = $wiersz['nick']; 
  89. $_SESSION['u1'] = $wiersz['u1']; 
  90. $_SESSION['u2'] = $wiersz['u2']; 
  91. $_SESSION['u3'] = $wiersz['u3']; 
  92. $_SESSION['u4'] = $wiersz['u4']; 
  93. $_SESSION['u5'] = $wiersz['u5']; 
  94. $_SESSION['u6'] = $wiersz['u6']; 
  95. $_SESSION['u7'] = $wiersz['u7']; 
  96.  $_SESSION['nazwisko'] = $wiersz['nazwisko']; 
  97. $_SESSION['data'] = $wiersz['data']; 
  98. $_SESSION['email'] = $wiersz['email']; 
  99. $_SESSION['lvl'] = $wiersz['lvl']; 
  100. }
  101.  
  102. } 
  103.  }
  104.  
  105. }
  106. ?>

Plik ten znajduje się w folderze z .htaccess więc nikt nie ma do niego dostępu i inculduję go do innych plików. Co mogę zrobić by poprawić jescze bezpieczeństwo tego skryptu?questionmark.gif
ayeo
Po co przechowujesz hasło i login w ciasteczkach? To napewno nie jest bezpieczne. Poza tym przechowywanie zminnych sesyjnych w plikach też nie jest najlepsze jeśli trzymasz tam hasła itd. Naprawdę trzymasz zakodowany login w bazie? smile.gif
qba10
no fakt trzymanie hasel i loginu w sesesjach jest zbędne
ale cookie jest potrzebne do zapamietania osoby by się ciągle logować nie musiała


PS: Jak kodować to już na maksa smile.gif
ayeo
Standardowo w w COOKIE (PHP robi to automatycznie) trzyma się identyfikator sesji poprostu. Na tej podstawie PHP kojarzy później kolejne wywołania i zmienne smile.gif
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.