Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prośba o ocenę, skryptu logowania
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Poniżej zamieściłem skrypt, który stosuję do logowania na podstawie bazy. Co o nim myślicie? Czy Waszym zdaniem warto coś poprawić, usprawnić w jakiś sposób? Może nie jest zbyt bezpieczny?

  1. <?php
  2. session_name('sofik');
  3. include "config.inc.php";
  4. ?>
  5.  
  6.  
  7. <!-- ZALOGUJ I USTAW ZMIENNE SESYJNE -->
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  9. <html>
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  12. <meta name="pragma" content="no-cache" />
  13. <title>Logowanie...</title>
  14. <link rel="stylesheet" type="text/css" href="autoryzacja.css" />
  15. </head>
  16. <body>
  17. <?php
  18.  
  19. //Połączenie z bazą danych
  20. $conn = mysql_connect($server, $identyfikator, $haslo)
  21. or die ("Nie udało się połączyć z bazą danych! BَD: ".mysql_error());
  22. //Wybór bazy danych
  23. or die ("Nie udało się wybrać bazy! BَD: ".mysql_error());
  24.  
  25. //Zapytanie o login i hasło
  26. $query = "SELECT * FROM konto WHERE login='".$_POST['logid']."';";
  27. $result = mysql_query($query)
  28. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  29. $query_data = mysql_fetch_row($result);
  30.  
  31.  
  32. //Sprawdzenie czy podany login i hasło są poprawne
  33. if (MD5($_POST['pas']) == $query_data[2])
  34. {
  35.  
  36.  //Udana autoryzacja
  37.  if ( ($query_data[3] == 0) OR (($query_data[3] == 3)) )
  38.  {
  39. //Zapytanie o dane osoby zalogowanej z tabeli pracownika
  40. $query = "SELECT konto.konto_id, login, haslo, kto, imie, nazwisko FROM konto, pracow
    nik "
    .
  41.  "WHERE login='".$_POST['logid']."' AND konto.konto_id=pracownik.konto_id;";
  42. $result = mysql_query($query)
  43. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  44. $query_data = mysql_fetch_row($result);
  45. $ID = $query_data[0];
  46.  
  47. $_SESSION['id'] = $query_data[0]; //Konto_id
  48. $_SESSION['nick'] = $query_data[1]; //Login
  49. $_SESSION['haslo'] = $query_data[2]; //Hasło
  50. $_SESSION['kto'] = $query_data[3]; //Pracownik czy klient?
  51. $_SESSION['imie'] = $query_data[4]; //Imie
  52. $_SESSION['nazwisko'] = $query_data[5]; //Nazwisko
  53.  
  54. //------------------->ROZPOCZCIE TRANSAKCJI
  55. $query = "BEGIN WORK";
  56. $result = mysql_query($query)
  57. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  58.  
  59. //Dodanie daty i godziny logowania
  60. $query = "INSERT INTO logi (konto_id, data_log, godzina_log) VALUES ($ID,CURDATE(),CURTIME());";
  61. $result = mysql_query($query)
  62. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  63. //-------------------> ZATWIERDZENIE TRANSAKCJI
  64. $query = "COMMIT";
  65. $result = mysql_query($query)
  66. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  67.  
  68. //Sprawdzenie wartości klucza logi_id
  69. $query = "SELECT LAST_INSERT_ID()";
  70. $result = mysql_query($query)
  71. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  72. $query_data = mysql_fetch_row($result);
  73.  
  74. $_SESSION['id_logi'] = $query_data[0]; //Logi_id
  75.  
  76. //Zamknięcie połączenia z bazą danych
  77. mysql_close($conn);
  78.  
  79. header("location: start.php?".SID);
  80.  }
  81.  else
  82.  {
  83. //Zapytanie o dane osoby zalogowanej z tabeli klienta
  84. $query = "SELECT konto.konto_id, login, haslo, kto, imie, nazwisko FROM konto, klient
     "
    .
  85.  "WHERE login='".$_POST['logid']."' AND konto.konto_id=klient.konto_id;";
  86. $result = mysql_query($query)
  87. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  88. $query_data = mysql_fetch_row($result);
  89. $ID = $query_data[0];
  90.  
  91. $_SESSION['id'] = $query_data[0]; //Konto_id
  92. $_SESSION['nick'] = $query_data[1]; //Login
  93. $_SESSION['haslo'] = $query_data[2]; //Hasło
  94. $_SESSION['kto'] = $query_data[3]; //Pracownik czy klient?
  95. $_SESSION['imie'] = $query_data[4]; //Imie
  96. $_SESSION['nazwisko'] = $query_data[5]; //Nazwisko
  97.  
  98. //------------------->ROZPOCZCIE TRANSAKCJI
  99. $query = "BEGIN WORK";
  100. $result = mysql_query($query)
  101. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  102.  
  103. //Dodanie daty i godziny logowania
  104. $query = "INSERT INTO logi (konto_id, data_log, godzina_log) VALUES ($ID,CURDATE(),CURTIME());";
  105. $result = mysql_query($query)
  106. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  107. //-------------------> ZATWIERDZENIE TRANSAKCJI
  108. $query = "COMMIT";
  109. $result = mysql_query($query)
  110. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  111.  
  112. //Sprawdzenie wartości klucza logi_id
  113. $query = "SELECT LAST_INSERT_ID()";
  114. $result = mysql_query($query)
  115. or die ("Zapytanie nieudane! BَD: ".mysql_error());
  116. $query_data = mysql_fetch_row($result);
  117.  
  118. $_SESSION['id_logi'] = $query_data[0]; //Logi_id
  119.  
  120. //Zamknięcie połączenia z bazą danych
  121. mysql_close($conn);
  122.  
  123. header("location: start.php?".SID);
  124.  }
  125. }
  126. else
  127. {
  128.  // Zły login lub hasło
  129.  ?>
  130.  <br><br><br><br><br><br><br><br><br>
  131.  <table width="80%" align="center" border="0" cellpadding="14">
  132. <tr>
  133. <td><h2 class="error">Podałeś zły login lub hasło!</h2></td>
  134. </tr>
  135.  </table>
  136.  <?php
  137.  echo "<META HTTP-EQUIV='Refresh' CONTENT='3; URL=main.php'>";
  138. }
  139. ?>
  140.  
  141. </body>
  142. </html>


Ten post edytował J4r0d 14.05.2006, 22:49:22


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 04:01