![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Postanowiłem sprawdzić działanie moich sesji, bo odniosłem wrażenie, że PHP nie odświeża czasu "życia" sesji gdy ktoś wędruje po stronie.
Czas życia moich sesji: 15 min (później zwiększę bo to trochę mało wg mnie). Wartość tę przechowuje stała: USER_SESSION_MAX_INACTIVE_LIFETIME. Sprawdziłem ciasteczka i zdziwiło mnie kilka faktów: 1. Istnienie PHPSESSID, skoro używam ciastka o nazwie USER_SESSION. 2. PHPSESSID po zalogowaniu zostaje utworzone i nie jest nigdy więcej aktualizowane. 3. PHPSESSID ma czas wygaśnięcia równy + 15 min od zalogowania (nie od odświeżenia strony!). 4. USER_SESSION ma prawidłowy czas wygaśnięcia równy + 15 min od odświeżenia strony. Poprzez "odświeżenie strony" mam na myśli również wędrowanie po innych, które używają sesji. Bo przecież z każdą aktywnością użytkownika powinno się ustawiać czas sesji ponownie do przodu ![]() Funkcje: Nie mają wpływu na PHPSESSID - jedynie na USER_SESSION. Konkretnie - w tym wypadku PHPSESSID będzie miało czas życia: USER_SESSION_MAX_INACTIVE_LIFETIME a nie: USER_SESSION_MAX_INACTIVE_LIFETIME + 600. Jeśli ciastko PHPSESSID wygaśnie - sesja również - a przecież powinno brać pod uwagę tylko ciastko USER_SESSION. Jeśli ustawię czas życia ciastka na 0 poprzez session.cookie_lifetime to działa to tylko na ciastko USER_SESSION! Jeśli natomiast zrezygnowałem z własnego ciastka poprzez: Czyli zakomentowałem tę linię, to "everything is fine"... Ustawienia: Z początku nie używałem session_set_cookie_params() ale teraz próbowałem jakoś wpłynąć na to PHPSESSID, ale coś się nie udaje... Ten post edytował Walian 28.02.2010, 15:47:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 00:03 |