Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sesja i przycisk wstecz w IE
korad1
post 24.05.2005, 10:48:09
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 10.05.2005

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


Jak zrobic zeby po wylogowaniu sie z serwisu, przycisniecie przycisku wstecz w IE , nie powodowalo wejscia powtornego w formie zalogowanej.
Rozwiazaniem byloby wylaczenie przegladarki, bo sesja zostala by automatycznie skasowana, natomiast jak zrobic zeby nie wylaczajac przegladarki usunac sesje
NIe uzywam ciasteczek a pliki sesyjne trzymane sa po stronie serwera.

Ten post edytował korad1 24.05.2005, 10:49:14
Go to the top of the page
+Quote Post
revyag
post 24.05.2005, 10:56:44
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Na początku pliku objętego logowaniem dajesz:
  1. <?php
  2. if(!isset($_SESSION[&#092;"login\"])){
  3.     header(&#092;"Location:login.php\");
  4. }
  5. ?>

A przy wylogowaniu:
  1. <?php
  2. unset($_SESSION[&#092;"login\"]);
  3. header(&#092;"Location:login.php\");
  4. ?>

i już.
Naciśnięcie przycisku wstecz nic nie da, bo zmienna sesyjna nie istnieje, następi przekierowanie na stronę logowania.

Ten post edytował revyag 24.05.2005, 11:00:22


--------------------
-------------

------
Go to the top of the page
+Quote Post
-Guest-
post 24.05.2005, 11:11:24
Post #3





Goście







sessin_destroy() uzywam ale , to nie pomaga.Nacisniecie raz przycisku wstecz , wyswietla wczesniej przezemnie napisany komunikat typu"niewazany klucz sesji...", ale ponowne nacisniecie wstecz i nastepnie odswiez powoduje powrot do strony sprzed wylogowania
Go to the top of the page
+Quote Post
kszychu
post 24.05.2005, 11:34:51
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Cytat(Guest @ 2005-05-24 11:11:24)
ale ponowne nacisniecie wstecz i nastepnie odswiez powoduje powrot do strony sprzed wylogowania

A używasz na tej stronie sesji do weryfikacji użytkownika? Coś nie wydaje mi się...


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
revyag
post 24.05.2005, 11:49:24
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Można zrobić to tak:
- plik index.php z formularzem logowania
- plik login.php w którym następuje autoryzacja i przekierowanie do strony po zalogowaniu - main.php
- plik wyloguj.php w którym sesja jest niszczona

W stronie z formularzem pobierany jest login i hasło i przekazywane postem do pliku login.php i w nim przetwarzane.
  1. <?php
  2. if(!isset($_POST[&#092;"login\"]) || !isset($_POST[\"haslo\"])){
  3. header(&#092;"Location:index.php\");
  4. }else{
  5. //tu np. operacje z bazą danych weryfikujące czy user moze sie zalogowac
  6. $_SESSION[&#092;"login\"] = $_POST[\"login\"];
  7. $_SESSION[&#092;"haslo\"] = md5($_POST[\"password\"]);
  8. header(&#092;"Location:main.php?\".SID); 
  9. }
  10. ?>

W main.php sprawdzane są zmienne sesyjne, jeśli istnieją to ok, a jeśli nie to user zostaje przekierowany na index.php.
  1. <?php
  2. if(!isset($_SESSION[&#092;"login\"])||!isset($_SESSION[\"haslo\"])){
  3. header(&#092;"Location:index.php\");
  4. }
  5. ?>

Plik wyloguj.php (również zabezpieczony przed wywołaniem go przez niezalogowanego usera
  1. <?php
  2.  
  3. if(!isset($_SESSION[&#092;"login\"])||!isset($_SESSION[\"haslo\"])){
  4. header(&#092;"Location:index.php\");
  5. }
  6. //tu jakaś treść
  7. unset($_SESSION[&#092;"login\"]);
  8. unset($_SESSION[&#092;"haslo\"]);
  9.  echo 'Zaloguj sie ponownie <a href=\"index.php\">zaloguj</a>';
  10.  
  11. ?>


--------------------
-------------

------
Go to the top of the page
+Quote Post
korad1
post 24.05.2005, 12:12:07
Post #6





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 10.05.2005

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


Wyglada ze problem jest innego typu, tzn. usuwajac recznie po stronie serwera plik z sesja oczywiscie kolejne odwolanie do strony powoduje wyswietlenie komunikatu o bledzie i powoduje przejscie do strony logowania, ale jak wspomnialem wczesniej dwukrotne nacisniecie [wstecz] w IE powoduje powrot do strony sprzed logowania i co najciekawsze w katalogu z sesjami odtwarza plik sesyjny wczesniej przeze mnie usuniety. Podejrzewam ze zapisuje go ze swojej pamieci podrecznej. Rozwiazanim bylo by usuwajac zemienne sesyjne usunac zawartosc tej pamieci?
Go to the top of the page
+Quote Post
revyag
post 24.05.2005, 12:15:11
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Może masz walniętą przeglądarkę ? Sprawdzałeś pod mozillą/operą ?


--------------------
-------------

------
Go to the top of the page
+Quote Post
korad1
post 24.05.2005, 12:18:30
Post #8





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 10.05.2005

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


sprawdzalem pod roznymi wersjami IE i zddaje sie pod opera, sprawdze jeszcze pod firefox, ale to raczej nie ma znaczenia pod jaka przegladarka
Go to the top of the page
+Quote Post
Radarek
post 24.05.2005, 16:49:09
Post #9





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Cytat(revyag @ 2005-05-24 11:15:11)
Może masz walniętą przeglądarkę ? Sprawdzałeś pod mozillą/operą ?

Hehe. Zepsuta przegladark odtwarzajaca sesje? ;-) Widocznie jest zle napisany system logowania/wylogowywania i tyle.
Go to the top of the page
+Quote Post
korad1
post 25.05.2005, 11:52:31
Post #10





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 10.05.2005

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


Jak zwykle diabeł tkwi w szczegółach.
Zamiast używać
  1. <?php
  2. header(&#092;"Location:nazwa_pliku.php\");
  3. ?>

uzywalem
  1.  ?><script LANGUAGE=javascript>
  2.  parent.window.location.href=\"nazwa_pliku.php\"
  3.  </script><?


Po zmianie problem jak ręką odjął

Ten post edytował korad1 4.06.2005, 21:18:31
Go to the top of the page
+Quote Post
-geneza-
post 4.06.2005, 21:22:04
Post #11





Goście







no to na przyszlosc nalezy uwazac w czym sie koduje
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: 20.07.2025 - 14:14