Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wygaśnięcie sesji i logowanie przy wracaniu
elwierka
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 26.12.2007

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


Napisałam sobie skrypcik do logowania do systemu, na podstrony mają dostęp tylko osoby, które się zalogowały.
Przy logowaniu używam sesji. Po wylogowaniu (usunięciu zmiennych sesji i zniszczeniu sesji) powinien być już brak dostępu do strony, ale jak w przeglądarce klikam "Wstecz" to wraca mi do poprzedniej strony bez żadnego problemu (jako zalogowany ostatnio użytkownik).

Jak mogę pozbyć się tego problemu?
Czy same sesje wystarczą, czy trzeba użyć Cookies?
Go to the top of the page
+Quote Post
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


a na pewno usuwasz tą sesję?
Go to the top of the page
+Quote Post
gigzorr
post
Post #3





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

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


Ja mam to samo , wiec tez prosze o pomoc , ja niszcze sesje tak:
  1. echo "Wylogowano";

Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


wydaje mi się że trzeba jeszcze użyć funkcji unset czyli
  1. unset($_SESSION['user_is_logged']);
  2. unset($_SESSION['login_id']);


bo samo session_destroy() chyba nie niszczy tych zmiennych, i można mieć do nich dostęp po kolejnym otwarciu sesji, dlatego chyba użytkownik nie zostaje wylogowany
Go to the top of the page
+Quote Post
elwierka
post
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 26.12.2007

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


Tak, poniżej kod:

  1. $stary_uzyt = $_SESSION['user_ok'];
  2.  
  3. unset($_SESSION['user_ok']);
  4. $usun_sesje = session_destroy();
  5.  
  6. if (!empty($stary_uzyt)) {
  7. if ($usun_sesje) {
  8. echo 'Wylogowano.<br />';
  9. } else {
  10. echo 'Wylogowanie niemożliwe.<br />';
  11. }
  12. } else {
  13. echo 'Użytkownik niezalogowany, tak więc brak wylogowania.<br />';
  14. }
Go to the top of the page
+Quote Post
mortus
post
Post #6





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


A zrób sobie mały teścik. Wyloguj się z forum php i kliknij wstecz, a potem odśwież. Przycisk wstecz cofa nas do strony pobieranej z pamięci podręcznej przeglądarki, dlatego widzisz to co zalogowany użytkownik, jednak nie jesteś już zalogowana.

Ten post edytował mortus 23.04.2010, 12:03:40
Go to the top of the page
+Quote Post
elwierka
post
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 26.12.2007

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


No niestety, sprawdzałam i wystarczy, że przy naciśnięciu wstecz w przeglądarce, wyświetla się komunikat, ze aby oglądać ta stronę trzeba ponownie przesłać dane....no i po zatwierdzeniu, z powrotem wracam do konta użytkownika i mam dostęp do wszystkich jego opcji...
Go to the top of the page
+Quote Post
MajareQ
post
Post #8





Grupa: Zarejestrowani
Postów: 382
Pomógł: 22
Dołączył: 21.05.2007
Skąd: Elbląg

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


Pewnie cofasz się na stronę, na której przeglądarka wysyłała dane POSTu. Przez potwierdzenie wysłania jeszcze raz tych danych, logujesz się ponownie.
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: 20.08.2025 - 06:04