Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]IE 7 - problem z obsługą sesji, Problem bezpieczeństwa związany z obsługą sesji i IE7
modic
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 18.07.2008

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


Problem wystepuje w przeglądarce IE i wygląda mniej wiecej tak:

na stonie jest jednosześnie formulaż logowania i treść strony, w skrócie wygląda to mniej wiecej tak:
Kod
<?php
if (!isset($_SESSION['login'])) {
echo "nie masz uprawnień do przeglądania strony";
}
else
echo "to jest treść strony";
?>


Jest też przycisk "wyloguj" po jego naciśnieciu przechodzimy do strony na której jest wyloguj.php, gdzie znajduje się skrypt (tu też skrócony):
Kod
<?php
session_start();
session_destroy();
echo "pokaż formularz logowania";
?>


a wiec zmienna $_SESSION['login'] przetaje istnieć i nie bedzie możliwe zobaczenie zawartości strony, ale okazuje sie że w IE 7 jak klikam po wylogowaniu przysisk WSTECZ to pokazuje mi pusta strone z komunikatem "Strona sieci web wygała", a po kliknieciu "Odświerz" i "Ponów próbę" znowu można zobaczyś zawartość strony, choć nie powinno do tego dochodzić.

Tak wiec pytanie brzmi, jak temu zaradzić, prosiłbym też o wyrozumialość, php zajmuje sie niecały miesiąć, z góry też dziekuje za wszelką pomoc.
Go to the top of the page
+Quote Post
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Po pierwsze proponuje poniższe zmiany:

index.php
  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['login'])) {
  5.  exit('Nie masz uprawnień do przeglądania strony!');
  6. }
  7.  
  8. echo 'To jest treść strony!';
  9.  
  10. ?>


Funkcja exit" title="Zobacz w manualu PHP" target="_manual na pewno zakończy działanie skryptu i nie pokaże treści poniżej.

wyloguj.php
  1. <?php
  2.  
  3.  
  4. unset($_SESSION['login']);
  5.  
  6. ?>


Nie musisz niszczyć całej sesji aby wylogować użytkownika - wystarczy jak usuniesz informację o tym, że jest zalogowany.

A poza tym przeanalizuj swój problem: Wstecz -> Odśwież -> Ponów próbę!

Przecież nie robisz nic innego jak logujesz się na nowo, więc czemu treść dla zalogowanych miałaby nie być widoczna?

Ten post edytował nexis 19.07.2008, 19:51:38


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
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 Aktualny czas: 19.08.2025 - 10:00