我開始爲我的項目使用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