Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bezpieczne wylogowanie
Forum PHP.pl > Forum > Przedszkole
nameless
chcialem zrobic system logowania uzytkownikow ktory po wyogowaniu byl odporny na operacje przegladarki cofnij tzn zeby nie bylo sytuacji ze uzytkownik sie wyloguje a po nacisnieciu cofnij wraca do strony jako zalogowany
yeti
Możesz rejestrować jako zmienną sesji nazwę pliku, z którego użytkownik wszedł na stronę. Na początku każdej strony sprawdzasz, czy zarejestrowana zmienna nie jest taka sama jak nazwa aktualnego pliku i jakby co BYE, BYE.

A najprostrze rozwiązanie to wyrejestrować przy wylogowywaniu zmienną, która oznacza, że użytkownik jest zalogowany. Jeśli użyje BACK to zmiennej nie będzie i skrypt go wykopie.
nameless
zrobilem to wlasnie na sesjach i przy zalogowaniu zmienna jest rejestrowana konkretnie user_id i inicjowana nr id uzytkownika a przy wylogowaniu wyrejestrowana jest ta zmienna, jednak ten sposob nie dziala bo i tak moge cofnac
tez myslalem ze jest to dobry pomysl ale jak sie przekonalem zawodzi
yeti
a możesz napisać jak rejestrujesz i wyrejestrowujesz zmienną sesji?
nameless
  1. <?php
  2. switch($action)
  3. {
  4. case 'login': 
  5. $users_results=mysql_query(&#092;"select * from promyk_users where login='\".$login.\"' and password='\".$password.\"'\");
  6. if(mysql_num_rows($users_results)==1)
  7. {
  8. $user_results=mysql_fetch_object($users_results);
  9. session_register(&#092;"user_id\", \"user_login\");
  10. $user_id=$user_results->id;
  11. $user_login=$user_results->login;
  12. $action_result=true;
  13. }
  14. else
  15. $action_result=false;
  16. break;
  17. case 'logout': 
  18. session_unregister(&#092;"user_login\");
  19. session_unregister(&#092;"user_id\");
  20. $action_result=true;
  21. break;
  22. ?>


----
Prosze uzywac znaczników [php] do umieszczania kodu php
hwao
scanner
BBCODE
yeti
Proponowałbym korzystać z przypisań:

Kod
$_SESSION['nazwa'] = wartosc;


i wyrejestrowywać zmienne:

Kod
unset($_SESSION['nazwa']);
Guest
Daj na początku każdej strony którą chcesz objąć dostępem logowania:
  1. <?php
  2. if(!isset($zmienna)){
  3. header(&#092;"Location: strona_logowania.php\");
  4. ?>
nameless
mecze sie z tym juz kilka dni i z mich obserwacji wynika ze przegladarka trzyma w pamieci te zmienne
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.