Autor Zpráva
jefitto44
Profil
Mám užívateľa, ktorý keĎ sa prihlasí, idú jeho údaje do session. Tam sú až pokým sa neodhlási (session_destroy())
Ako by sa dalo ale spraviť, že ak užívateľ na nič neklikne 5 minút, tak automaticky dôjde k session_destroy? A jemu by vypísalo hlášku - boli ste dlho nečinný
Pritom musím pamätať na to, že užívateľ môže napr. čítať článok, kde sa vôbec so session nepracuje... Dá sa nejako detekovať posledné použitie session a čas, odkedy uplynulo?
Michales
Profil
Příklady:
http://php.vrana.cz/odhlaseni-uzivatele-po-urcite-dobe.php
nebo
http://cz2.php.net/manual/en/function.session-destroy.php
juriad
Profil
Ve výchozím nastavení session trvá přibližně 1440 sekund. Proč ti nestačí běžné nastavení?
http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960
jefitto44
Profil
juriad:
přibližně 1440 sekund

To sotva, podľa mojich vedomosti ve vychozim nastavení trvá session dokým nezatvoríš okno prehliadača... Aspoň som tak čítal na troch rôznych miestach...
Bubák
Profil
přibližně 1440 sekundanebodokým nezatvoríš okno prehliadača
Ještě doplním, aby to bylo úplně jasné, podle toho, co nastane dříve.
juriad
Profil
Přičemž těch 1440 je jen přibližných, neplatné session se mažou v určitých intervalech a může se tedy stát, že session je dostupná ještě chvíli po tom limitu.
Jak se session chová vůči zavření prohlížeče závisí na http://php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
jefitto44
Profil
Ehm... potom ako je možné, že na traviane som napr. pirhlásený aj dve hodiny a nikoho to netrápi?
juriad
Profil
Můžeš změnit nastavení serveru a prodloužit session na libovolnou dobu.
Na té poslední stránce máš seznam všech vlastností, přečti si ještě o http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
Joker
Profil
jefitto44:
podľa mojich vedomosti ve vychozim nastavení trvá session dokým nezatvoríš okno prehliadača
Informace o session jsou uložené na serveru. Jak by se server dozvěděl o zavření okna prohlížeče?

juriad:
neplatné session se mažou v určitých intervalech a může se tedy stát, že session je dostupná ještě chvíli po tom limitu.
Pokud vím, výchozí nastavení je 1% pravděpodobnost spuštění garbage collectoru při každé inicializaci session, takže u webů s malou návštěvností (nebo kde se používají session jen u nepříliš často zobrazovaných stránek) může ta „chvíle“ trvat poměrně dlouho.

jefitto44:
potom ako je možné, že na traviane som napr. pirhlásený aj dve hodiny a nikoho to netrápi?
Zřejmě nepoužívají PHP s výchozím nastavením.
aDAm
Profil
Joker:
jefitto44:
„podľa mojich vedomosti ve vychozim nastavení trvá session dokým nezatvoríš okno prehliadača“
Informace o session jsou uložené na serveru. Jak by se server dozvěděl o zavření okna prohlížeče?


zřejmě má namysli platnost cookie se session id která mívá platnost do konce relace.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: