Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]sesje na podstronach
gosienkami
post
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


mam takie pytanko przy blokowaniem dostepu do podstron, bo mimo iz jest hasło stronka mie si enie wyswietla

logowanie do podstron:
  1. <?
  2. session_register("logowanie");
  3. if ($_SESSION['logowanie']!==0)
  4. var_dump($_SESSION);
  5. { echo "Brak dostępu do ogladania strony.";
  6. exit();}
  7. ?>


<?
include("logowaniepodstron.php");
?>

i wywołanie
array(3) { ["logowanie"]=> int(1) ["login"]=> string(2) "test" ["haslo"]=> string(2) "test" } Brak dostępu do ogladania strony.
Go to the top of the page
+Quote Post
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


o rety... moze dlatego, ze
Kod
["logowanie"]=> int(1)

a masz sprawdzanie, czy $_SESSION['logowanie'] jest ROZNE OD 0 i jesli TAK to wyswietl blad logowania?
Popraw
Kod
if ($_SESSION['logowanie']!==0)

na
Kod
if ($_SESSION['logowanie']!==1)
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. session_register("logowanie");
  3. var_dump($_SESSION);
  4. if ($_SESSION['logowanie']!==0)
  5. { echo "Brak dostępu do ogladania strony.";
  6. exit();}
  7. ?>

Dalas var_dump w ifie a wiec blok pod tym wykonywal sie niezaleznie od ifa. Przerzucilem ci var_dump wyzej
Na przyszlosc zwracaj uwage na takie pierduly
Go to the top of the page
+Quote Post
gosienkami
post
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


zmieniałam jak mowiłes i tak samo.Tak mam na stronie głownej i działa a na podstronach nie chce zeby sie otwierało okno do logowania tylko napis ze brak dostepu.
  1. <?
  2. session_register("logowanie");
  3. if ($_SESSION['logowanie']!==0){
  4.     echo 'Zostaleś zalogowany jako:' .$_SESSION['login'];
  5.     echo '<a href="logowanie.php?wylogowanie=tak">[wylogowanie]</a>';  
  6.   }else {
  7. header('location:logowanie.php');
  8.    }
  9. //session_destroy();
  10. ob_flush();?>



Cytat(ddiceman @ 11.03.2009, 12:50:17 ) *
o rety... moze dlatego, ze
Kod
["logowanie"]=> int(1)

a masz sprawdzanie, czy $_SESSION['logowanie'] jest ROZNE OD 0 i jesli TAK to wyswietl blad logowania?
Popraw
Kod
if ($_SESSION['logowanie']!==0)

na
Kod
if ($_SESSION['logowanie']!==1)
Go to the top of the page
+Quote Post
ddiceman
post
Post #5





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Wywal z podstron
  1. <?php
  2. session_register("logowanie");
  3. ?>

Bo to powinno byc (o ile juz musi byc, bo powinnas uzywac $_SESSION['logowanie']=...) tylko przy logowaniu
Go to the top of the page
+Quote Post
gosienkami
post
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


wywalone i jeszcze jak sie otwieram podstrone bezposrednio to mam tak strona + array(3) { ["logowanie"]=> int(0) ["login"]=> string(2) "ss" ["haslo"]=> string(2) "ss" } mimo wylogowania trzyma ostatnie hasło i login jak dałam na str głownej session_destroy(); to poodswiezeniu stronki blokuje wyswietlanie
Go to the top of the page
+Quote Post
ddiceman
post
Post #7





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Za http://pl.php.net/manual/pl/function.session-destroy.php" title="Zobacz w manualu PHP" target="_manual:
  1. <?php
  2. // Usuń wszystkie zmienne sesyjne
  3. $_SESSION = array();
  4.  
  5. // [...]
  6.  
  7. // Na koniec zniszcz sesję
  8. ?>


Ten post edytował ddiceman 11.03.2009, 13:45:34
Go to the top of the page
+Quote Post
gosienkami
post
Post #8





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


(IMG:http://forum.php.pl/style_emoticons/default/sad.gif) a na tych podstronach dalej tak samo
Go to the top of the page
+Quote Post
Pilsener
post
Post #9





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Prosiłbym o kod logowania + kod podstrony - CAŁY, bo błędów tu jest bez liku i tak sobie będziemy pisać cały dzień.
Go to the top of the page
+Quote Post
gosienkami
post
Post #10





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


strona logowanie z oknem logowania
  1. <?
  2. session_register("logowanie");
  3. if(empty($_SESSION["logowanie"]))$_SESSION["logowanie"]=0;
  4.  
  5. echo '<div class="stopka">NIE MASZ UPRAWNIEN DO OGLADANIA STRONY- MUSISZ SIE ZALOGOWAC';
  6. require_once("laczenie.php");
  7. if($_GET['wylogowanie']=="tak"){
  8. $_SESSION["logowanie"]=0;
  9. echo ' Zostałeś wylogowany z serwisu';}
  10. if($_SESSION["logowanie"]!=1){
  11. }
  12. if($_POST['login']!="" and $_POST['haslo']!="")
  13. {
  14. $login=$_POST['login'];
  15. $haslo=$_POST['haslo'];
  16. $sql="SELECT * from pracownicy WHERE login like '$login' and haslo like '$haslo' ";
  17. $result=mysql_query($sql) or die('Nie mozna wykonac zapytania');
  18. $ilosc=mysql_num_rows($result);
  19. if($ilosc=="1"){
  20. $zawartosc=$login;
  21.     $_SESSION['logowanie'] = 1;
  22.           $_SESSION['login'] = $_POST['login'];
  23.           $_SESSION['haslo'] = $_POST['haslo'];
  24.     header("Location: panelik.php");
  25. }
  26. }
  27. ?>


logowanie na stronie głownej
  1. <?php
  2. if ($_SESSION['logowanie']!==0){
  3.     echo 'Zostaleś zalogowany jako:' .$_SESSION['login'];
  4.     echo '<a href="logowanie.php?wylogowanie=tak">[wylogowanie]</a>';
  5.  
  6.   }else {
  7. header('location:logowanie.php');
  8.    }
  9. ?>


logowanie na podstonach

  1. <?
  2. var_dump($_SESSION);
  3. if ($_SESSION['logowanie']!==0)
  4. { echo "Brak dostępu do ogladania strony.";
  5. exit();}
  6. ?>
Go to the top of the page
+Quote Post
Pilsener
post
Post #11





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


1. Na stronie logowania nie widzę session_start
2. Hasła nie trzyma się w sesji, chyba, że zależy nam na tym, aby użytkownicy stracili zaufanie do naszego serwisu
3. Po co w zapytaniu LIKE?
4. Nie filtrujesz danych odbieranych z formularza
5. Nie filtrujesz danych wysyłanych do bazy - 5 minut i ktoś wyjmie wszystkie hasła
6. Ustawiasz logowanie=1, a potem sprawdzasz, czy jest różne od 0 by zalogować - sprawdza się, czy klucz pasuje do zamka a nie odwrotnie:
  1. <?php
  2. if($_SESSION['logowanie']==1){echo 'pasuje';}else{die('nie pasuje');}
  3. ?>
- i chcesz sprawdzać tylko wartość, czy też i typ zmiennej? W Twoim przypadku 1 jako liczba to nie to samo co 1 jako tekst
7. Obsługa błędów jest włączona? Wywala jakieś błędy?

Edit:
8. Trzymasz hasła w postaci otwartego tekstu, użyj choćby md5

Ten post edytował Pilsener 11.03.2009, 15:05:36
Go to the top of the page
+Quote Post
gosienkami
post
Post #12





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


juz poprawiłam bład był tu
[color="#007700"]<?
  1. <?php
  2. if ([/color]$_SESSION['logowanie']==0) ?>

porawiłam troche do.. co chodzi z tym??
Cytat(Pilsener @ 11.03.2009, 14:48:42 ) *
4. Nie filtrujesz danych odbieranych z formularza
5. Nie filtrujesz danych wysyłanych do bazy - 5 minut i ktoś wyjmie wszystkie hasła
8. Trzymasz hasła w postaci otwartego tekstu, użyj choćby md5
Go to the top of the page
+Quote Post
piotrooo89
post
Post #13


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




4. http://pl.php.net/manual/pl/function.strip-tags.php
5. http://pl.php.net/manual/pl/function.mysql...cape-string.php
8. http://pl.php.net/manual/pl/function.md5.php i http://dev.mysql.com/doc/refman/5.1/en/enc...ml#function_md5

http://www.beldzio.com/kategoria/bezpieczenstwo
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 15:26