我正在嘗試正確註銷管理員用戶。這裏是我的功能:(PHP)如何正確銷燬會話cookie?
function logout()
{
$_SESSION = array(); //destroy all of the session variables
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
}
基本上,一旦我驗證密碼,我設置會話爲有效(只有1個用戶總數)。現在,當管理員點擊註銷時,我想銷燬當前會話,並銷燬cookie,以便他們不能僅僅使用瀏覽器中存儲的會話cookie返回管理頁面。但我的代碼不起作用。我打出註銷,我可以直接導航回管理頁面。但是,如果我刪除我的Cookie,功能是完美的。那麼這裏的Cookie刪除功能有什麼問題?
好的,這是有道理的,但爲什麼我仍然能夠直接訪問管理頁面,即使我已經銷燬會議? – sepiroth 2010-02-11 02:12:29
@hatorade,檢查我編輯的答案。 – 2010-02-11 02:14:00
沒想到我認爲我想通了 - 我沒有在我的註銷頁面上呼叫session_start()(註銷文本鏈接到一個註銷頁面,該頁面調用了我的上述功能) – sepiroth 2010-02-11 02:15:03