我正在使用PHP會話。它運行良好,除非我退出瀏覽器然後返回到網頁,會話已過期。我該如何防止/爲會話設置過期時間?保持php會話在瀏覽器退出時不會失效
0
A
回答
2
您可以更改的session.cookie_lifetime
的配置,使瀏覽器不只是把你的會話的cookie離開時,它關閉(你只要給它一個秒數,並將其設置到期日)...
// assuming you can't change your php.ini file
ini_set('session.cookie_lifetime', 3600); // one hour
......但是,您希望會議持續多久?因爲另一個需要擔心的配置設置是session.gc_maxlifetime
,它會在數據被視爲垃圾之前設置(再次以秒爲單位)會話數據允許存在多長時間(我相信?)。
session.gc_maxlifetime
的默認值爲1440秒或約24分鐘。
1
考慮到上述安全風險。要延長會話生存期,您可以在啓動會話之前設置會話cookie的生存期,如下所示。
$lifetime=60*60*24*14; //2 weeks in seconds. you can change the time as you wish
session_set_cookie_params($lifetime, '/');
session_start();
+0
瀏覽器關閉後,會話cookie是否終止? – tim 2012-01-29 00:57:29
相關問題
- 1. PHP,會話和退出瀏覽器
- 2. 清除會話瀏覽器退出php
- 3. PHP腳本不會在瀏覽器退出時退出
- 4. PHP會話在瀏覽器外不會持續存在
- 5. 關閉瀏覽器後保持會話
- 6. 關閉瀏覽器後保持會話生效。
- 7. 在Coldfusion中退出瀏覽器時終止會話變量
- 8. 如何在瀏覽器關閉時關閉vaadin會話但保持http會話?
- 9. 如何在codeigniter3中關閉瀏覽器時保持會話?
- 10. 關閉瀏覽器後保持php會話
- 11. PHP:關閉瀏覽器後保持舊會話ID
- 12. 不同瀏覽器中的PHP會話
- 13. JSONP PHP會話不會保持不變
- 14. 如何在jsf 2.0中使會話失效,如果瀏覽器關閉而不會使當前會話無效。
- 15. 地理位置保持瀏覽器會話持久性
- 16. ASP.NET會話和瀏覽器Cookie支持
- 17. PHP會話將不會保持註冊
- 18. 關閉瀏覽器會話丟失
- 19. 保持用戶在瀏覽器會話之間登錄
- 20. 在瀏覽器中回退導航時清除當前會話
- 21. php會話和會話unset + destroy會話保持不變
- 22. .NET會話 - 持續會話,即使用戶關閉瀏覽器
- 23. 會話不會失效
- 24. 保持CodeIgniter會話有效
- 25. 谷歌瀏覽器關閉瀏覽器後保持會話變量
- 26. 快速會話不會保存...除非我刷新瀏覽器?
- 27. 會話在瀏覽器關閉時不會過期
- 28. 無效的會話,當瀏覽器關閉時不註銷
- 29. 如果用戶X退出瀏覽器,如何放棄會話?
- 30. 關閉瀏覽器清除PHP會話
也許您正在尋找[session.cookie_lifetime](http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime)配置設置? – sdleihssirhc 2012-01-28 23:11:28
@sdleihssirhc:我會與'session.gc_maxlifetime'結合使用它的答案...... – Wrikken 2012-01-28 23:16:24
當瀏覽器會話結束時(即瀏覽器關閉),服務器端會話將過期。如果您想要存儲超出該信息的一些信息,則不應使用服務器端會話。 – Gumbo 2012-01-28 23:20:46