dev*_*per 15 php session session-timeout
我在我的网站上使用登录功能与会话.无论用户是否已注销,我的本次会议都会在几分钟后过期.现在我想要的是会话应该只在用户注销时才会过期.如果用户没有注销他的帐户然后在2-3天后回来,那么他应该出现登录.
我已经找到了一些例子,他们已经增加了一个会话到期的时间,但我希望它只应该在用户退出事件时到期而不管他注销的时间.
我怎样才能做到这一点??
编辑:
session_cache_expire(0);
session_start();
Run Code Online (Sandbox Code Playgroud)
这是写这种方式吗?
Pas*_*TIN 26
在这种情况下,经常使用的解决方案是:
这条路 :
至少从用户的角度来看,你的优势是"永不被淘汰".
另请注意,对于"正常"会话,当用户关闭浏览器时,将删除包含会话ID的cookie - 因此,无论会话的生命周期是多长时间,他都将断开连接.
根据我提出的解决方案,您可以设置cookie应保留在用户计算机上的时间;-)
但这意味着,当用户手动注销时,您必须同时删除其会话和cookie - 因此他不会立即重新自动登录.
当然,你必须要小心你在cookie中设置的内容:cookie不是很安全,所以不要在其中存储密码,例如;-)
实际上,这种做事方式是"记住我"这个功能经常起作用的方式; 除此之外,您的用户不必选中复选框以激活"记住我";-)
如果你没有时间开发那种东西,一种非常快速和肮脏的方法是在你的所有页面上使用一些Ajax请求,这只会"ping"服务器上的PHP页面 - 这将保持会话活跃(但这不是一个很好的做事方式:你仍然会在服务器上有很多会话,你会有很多无用的请求......而且只有在用户没有的情况下它才会工作关闭他的浏览器).
| 归档时间: |
|
| 查看次数: |
20323 次 |
| 最近记录: |