Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sesja, Czas trwania - Cookie?
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Witam,
Mam pytanie odnośnie sesji i cookisów.

Otóż załóżmy, że zaloguje się na jakiejś stronie www(powiedzmy na stronie www.nasza-klasa.pl) i teraz jeśli odwiedzę ją np. po 15 dniach, to będę wylogowany i będę musiał zalogować się na stronie.
Czym to jest spowodowane? Wygaśnięciem cookisa, czy może ma to coś związanego z sesją.

Może sprecyzuję co chcę osiągnąć i czy to jest możliwe.
Załóżmy, że wchodzę na portal nasza-klasa.pl, loguję się i zamykam przeglądarkę.

Otwieram przeglądarkę (nie wchodzę na nasza-klasa.pl) np. po 15 dniach, i czy jest możliwość, abym teraz zmodyfikował cookie tak, że jak wejdę na tę stronę, to będę dalej zalogowany?

Czy takiej rzeczy nie da się zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Odpowiedź do pytania (z pierwszego postu) jest jedna: to zależy.

Wszystko zależy od tego jak działa ich mechanizm uwierzytelniania na serwerze. Jeżeli opiera się on wyłącznie na identyfikatorze pochodzącym z ciasteczka i nie mają w zwyczaju usuwać przestarzałych (z ich punktu widzenia) danych to tak - będziesz mógł przedłużyć żywotność swojej sesji zmieniając żywotność ciasteczka.

W praktyce jest to raczej mało prawdopodobne, bo:
1. Zapewne poza identyfikatorem z ciasteczka sprawdzają inne rzeczy (np. adres IP), które mogą się w ciągu tych 15 dni zmienić.
2. Zapewne przestarzałe dane na serwerze (czy to w postaci plików, rekordów w bazie lub bezpośrednio w pamięci) są usuwane częściej niż raz w miesiącu.
3. Najprawdopodobniej w samej sesji (ależ nie lubię tego określenia) jest zapisany czas jej wygaśnięcia, więc nawet jeżeli uda Ci się ją przywrócić po tych 15 dniach, system uzna że sesja wygasła -> wyloguje cię.

Cytat
A da się chociaż jakoś sprawdzić, po ilu godzinach/dniach, użytkownik zostanie wylogowany?
Być może żywotność sesji jest równa żywotności ciasteczka (nawet często się to zdarza). Jednak nie zawsze tak jest - wtedy musisz się zalogować (bo wylogowanie będzie świadczyło i utraceniu sesji), i spróbować odświeżyć stronę po X minutach. Podstawowe długości jakich się używa to: 10, 15, 24, 30, 60 minut.

Ten post edytował Crozin 2.01.2011, 15:46:00
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 22:47