4

从我的应用程序注销后,当我按下后退按钮时,用户的所有登录选项仍显示在页面上。

登录后,当我按下后退按钮时,它将显示页面的注销版本。

我尝试在我的注销控制器中设置它

function logout() {
    $this->output->set_header('cache-Control: no-store, no-cache, must-revalidate');
    $this->output->set_header("cache-Control: post-check=0, pre-check=0", false);
    $this->output->set_header("Pragma: no-cache");
    $this->output->set_header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
    $this->tank_auth->logout();
    redirect(subdomain() . 'home');
}

但是当我按下后退按钮时缓存仍然存在。我怎样才能解决这个问题?

- - -更新 - - -

我认为缓存不是这里的问题,我在开发人员设置中禁用了 chrome 中的缓存,但是当我按下后退按钮时,我的浏览器在注销后仍会进入安全页面。

所以缓存不是问题..

4

3 回答 3

6

您好抱歉说缓存不是问题。缓存是个问题!我通过将此代码放入 codeigniter 的 index.php 文件来解决此问题。

header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
于 2012-07-31T18:03:39.790 回答
1

只需将其添加到您的控制器

 public function __construct()
      {
          parent::__construct();

           $this->output->set_header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
           $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate');
           $this->output->set_header('Cache-Control: post-check=0, pre-check=0',false);
           $this->output->set_header('Pragma: no-cache');
    }
于 2015-06-27T07:11:00.530 回答
0

读这个我认为它对你很有用

https://www.codeigniter.com/user_guide/libraries/caching.html

https://www.codeigniter.com/user_guide/database/caching.html

试试这个

$this->cache->clean();

或者

$this->db->cache_delete_all();
于 2012-07-31T17:21:35.343 回答