PHP会话变量在关闭Firefox后保持设置
可能重复:PHP会话变量在关闭Firefox后保持设置,php,mysql,Php,Mysql,可能重复: 我正在创建一个网站,用户只有在登录时才能查看某些页面。为了实现这一点,我检查是否设置了$_SESSION['uid'],如果未设置,则将用户发送回主页,而不是私人页面。但是,在用户关闭浏览器后,$\u会话['uid']将保持设置状态,因此允许用户查看专用页,而无需再次登录。为什么会这样?为什么$\u SESSION['uid']变量在浏览器会话中保持设置?该网站在Chrome中正常工作,但在FF中无法正常工作 您可以尝试更改PHP设置以强制过期时间: ini_set('sessio
我正在创建一个网站,用户只有在登录时才能查看某些页面。为了实现这一点,我检查是否设置了$_SESSION['uid'],如果未设置,则将用户发送回主页,而不是私人页面。但是,在用户关闭浏览器后,$\u会话['uid']将保持设置状态,因此允许用户查看专用页,而无需再次登录。为什么会这样?为什么$\u SESSION['uid']变量在浏览器会话中保持设置?该网站在Chrome中正常工作,但在FF中无法正常工作 您可以尝试更改PHP设置以强制过期时间:
ini_set('session.cookie_lifetime', 0);
ini_set("session.cache_expire", 0);
这也可以起作用(当您关闭浏览器时,cookie会自动过期):
这是Firefox中一个已知的“bug”(如果是可配置的功能,我不同意,他们会调用),它将Cookie保留为0。您只能希望会话在某个时刻被垃圾收集器删除。另见:FWIW,Chrome也有这种可怕的错误功能,从18版左右开始。。。
ini_set('session.use_only_cookies', 0);