我正在使用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