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 に答える