Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pewne "wady" sesji PHP
Forum PHP.pl > Forum > Przedszkole
Ilmenauer
Popatrzyłem, jak działa sesja na tym forum, i...
1. wystarczy, że zaloguję się raz, a we wszystkich, kolejnych zakładkach lub okienkach tej samej przeglądarki po wpisaniu adresu forum będę automatycznie zalogowany.
(Jako wzór niedościgniony strona mBanku - tutaj nie da się tego zrobić, w każdym okienku trzeba się zalogować)
Jak to zrobić?
2. Kiedy opuszczam forum, np. wpiszę inny adres a potem za pomocą "back" wrócę do forum - nadal jestem zalogowany. (tego nawet mBank nie rozwiązuje - może się nie da).

Reasumując: Bardzo mi zależy aby sesja była ważna tylko dla jednego okna przeglądarki (jak w mBanku).
Gdyby się dało aby sesja umierała w momencie opuszczenia strony, zdaję sobie sprawę, że to może być niemożliwe (bo skąd serwer ma wiedzieć, że odwiedzam inne strony).
Z góry dziękuję wszystkim za konstruktywne uwagi.
Wave
Długość trawania sesji (w tym przypadku dochodzą cookiesy) zależy tylko i wyłącznie od twórcy. No chyba że zrobisz sobie bat'a który będzie usuwał cookies (i sesje).
markac
Zdarza się, że po wylogowaniu i cofnięciu się wstecz widzimy stronę przed wylogowaniem, ale to nie znaczy, że możemy wykonywać jakiekolwiek operacje na koncie. Poprostu strona została w cache przeglądarki. Żeby się tego ustrzec, możesz użyć:
  1. <?php
  2. header (&#092;"Expires: Mon, 26 Jul 1997 05:00:00 GMT\"); // data w przeszłości
  3. header (&#092;"Last-Modified: \" . gmdate(\"D, d M Y H:i:s\") . \" GMT\"); 
  4. // ciągle modyfikowany
  5. header(&#092;"Cache-Control: no-store, no-cache, must-revalidate\"); // HTTP/1.1
  6. header(&#092;"Cache-Control: post-check=0, pre-check=0\", false);
  7. header(&#092;"Pragma: no-cache\"); // HTTP/1.0
  8. ?>


Przykład zaczerpnięty z http://pl.php.net/header.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.