Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dziura w logowaniu, Dziura w logowaniu
Kalysto
post 13.05.2011, 18:37:33
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 16.04.2011
Skąd: Chełm

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


Witam. Udało mi sie w końcu stworzyć system rejestracji i logowania po swojemu tak jak chciałem. Lecz niestety mam małą dziure w kodzie, której nie mam pojęcia jak zatkać. Otóż problem polega w tym iż mam plik index.php w którym jest formularz i przesyła go do login.php gdzie są sprawdzane dane poprawności z danymi z bazy i następnie znów przeniesienie do index.php. To wszystko się dzieje pod warunkiem że dane w formularzu zostały poprawnie wypełnione.
Problem otóż leży w tym iż gdy sesja jest nieaktywna (brak logowania) i wchodząc od razu do pliku login.php mam tam coś w stylu "Zostałeś zalogowany...." bez wpisywania żadnych danych i przenosi mnie do index.php gdzie jestem zalogowany jako anonimowy user? Nie wiem czy to tak nazwać bo to jakby pusta sesja i user który nie istnieje.

Oto kod, może on być śmieszny dla niektórych ale cóż dopiero zaczynam:
  1. <?
  2. require("includes/header.php");
  3.  
  4.  
  5.  
  6. $user = $_POST['user'];
  7. $pass = md5($_POST['pass']);
  8.  
  9. $query = "SELECT * FROM konta WHERE user='$user' AND pass='$pass'";
  10. $result = mysql_query($query) or die("Ehhh error 0.o");
  11.  
  12. $row = mysql_fetch_array ($result, MYSQL_NUM);
  13. if ($result) {
  14. print '<center>Zostałeś zalogowany! Za chwile zostaniesz przeniesiony na <a href="index.php">strone główna</a>.</center>';
  15. print "<meta http-equiv=\"refresh\" content=\"2; url=index.php\">";
  16. $_SESSION['login'] = 1;
  17. if ($row) {
  18. $_SESSION['id'] = $row[0];
  19. $_SESSION['user'] = $row[1];
  20. $_SESSION['email'] = $row[3];
  21. $_SESSION['admin'] = $row[4];
  22. $_SESSION['mod'] = $row[5];
  23. }
  24. } else {
  25. print "Złe dane";
  26. $_SESSION['login'] = 0;
  27. }
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. ?>



Proszę o pomoc, co jest błędem i jak załatać tą dziurę by tak się nie działo i gdy sesja jest nieaktywna wyświetlało zwykły formularz logowania.
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 Wersja Lo-Fi Aktualny czas: 14.06.2025 - 06:30