我开始为我的项目使用codeigniter。我有我的网站的用户身份验证系统。我已经看到了来自nettuts的视频的登录信息。我很困惑为什么注销无法正常工作。代码点火器注销功能
我在我的登录控制器中有以下注销功能。
function logout() {
$this->session->sess_destroy();
redirect('main');
}
如果我点击注销按钮,我将用户重定向到主页面。但是,在将用户重定向到主页面后,如果单击浏览器上的后退按钮,我会在页面顶部看到注销和我的名字。我需要在我要去的地方错了或者一些帮助有代码,我在我的控制器缺少
由于任何重要的一块提前
编辑
我想我找到了解决办法。我应该将以下代码添加到相应的控制器中
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");
是的,你是对的。这不是安全缺陷吗?当我点击注销时,虽然我点击后退按钮,但我认为我的代码不应该允许用户看到缓存页面,我也相信。如果用户在注销之前已经看到一些重要信息,如果某个用户点击了后台页面,他将看到最后一次浏览的页面。如何摆脱这个问题。 – user525146 2011-04-04 23:11:01
您可以尝试在所有登录页面上放置缓存标头,这是目前我能想到的唯一解决方案......实际上,大多数网站似乎都存在此问题,包括此问题。 – jfoucher 2011-04-05 07:48:09
将@amit的建议整合到您的答案中? – bacar 2014-09-04 08:03:05