Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SESJE] Sesja przestawia sie na 0
Wieloryb
post 26.01.2009, 15:14:11
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


log.php
  1. <?php
  2.  
  3. require('config.php');
  4.  
  5.    echo '<form action="logowanie.php" method="post">';
  6.    echo '<input type="text" name="login" value="login"/><br/>';
  7.    echo '<input type="password" name="pass" value="pass"/><br/>';
  8.    echo '<input type="submit" value="Loguj!" /><br/><br/>';
  9.    echo '</form>';
  10.  
  11.  
  12. if(!isset($_GET['err']))$_GET['err']=0;
  13.  
  14. if($_GET['err']==1)echo'Uzupełnij login!<br/>';
  15. if($_GET['err']==2)echo'Uzupełnij hasło!<br/>';
  16. if($_GET['err']==3)echo'Zły login lub hasło!<br/>';
  17.  
  18. echo 'Nie masz jeszcze konta? <a href="index.php?act=reg">Załóż je!</a>';
  19.  
  20. ?>


logowanie.php
  1. <?php
  2. require('config.php');
  3.  
  4. if(empty($_POST['login']))header('Location:index.php?act=log&err=1');
  5. if(empty($_POST['pass']))header('Location:index.php?act=log&err=2');
  6.  
  7.  
  8. if(mysql_num_rows(mysql_query("select * from users where name = '".htmlspecialchars($_POST["login"])."' AND pass = '".htmlspecialchars(md5($_POST["pass"]))."'"))){
  9.  
  10.  $_SESSION['zalogowany']=1;
  11.  header('Location:index.php?act=aukcje');
  12. } else {
  13. header('Location:index.php?act=log&err=3');
  14. }
  15.  
  16. ?>


index.php
  1. <?php
  2.   if($_GET['wyloguj']=1)$_SESSION['zalogowany']=0;
  3.   if($_SESSION['zalogowany']==0)echo'<a href="?act=log">Zaloguj się</a>';
  4.  
  5.   if($_SESSION['zalogowany']==1){
  6.    echo 'Dodaj aukcję<br/>';
  7.    echo 'Komentarze<br/>';
  8.    echo '<a href="?wyloguj=1">Wyloguj</a><br/>';
  9.   }
  10.  
  11.  ?>


No i niestety. Plik logowanie.php przekierowuje na stronę index.php, a tam dalej pokazuje się napis "Zaloguj się", a nie pokazują sie napisy "dodaj aukcje" itd sad.gif

Pozdrawiam i licze na pomoc

Ten post edytował Wieloryb 26.01.2009, 16:06:11
Go to the top of the page
+Quote Post
shark121
post 26.01.2009, 19:39:21
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 5
Dołączył: 31.03.2008

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


1] nie widzę żebyś gdzieś ustawił jakieś sesje, tylko sprawdzasz jakie mają wartości
2] taki sposób logowania jest całkowicie niebezpieczny
3] sposób wyłapywania błędów też jest niezbyt przemyślany
Go to the top of the page
+Quote Post
Wieloryb
post 27.01.2009, 12:26:47
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


1. 13 linijka logowanie.php
2. co moglbym dodac aby go bardziej zabezpieczyc?
3. w jaki inny sposob moglbym wylapywac te bledy?
Go to the top of the page
+Quote Post
l0ud
post 27.01.2009, 15:01:06
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


  1. <?php
  2. if($_GET['wyloguj']=1)$_SESSION['zalogowany']=0;
  3. ?>

Operator przypisania = zamiast operatora porówania ==.

A w sesji powinieneś trzymać najlepiej ID użytkownika i jego hasło (albo lepiej hash md5/sha1). Później sprawdzać je przy każdym odświeżeniu strony smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post

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: 15.06.2025 - 15:52