2012-10-08 52 views
2

在瀏覽通過PHP各種用戶註銷功能,我總是遇到session_destory()到遠程會話變量用於特殊用途,但是他們不使用setCookie()刪除用戶的PHP SESSIONID刪除用戶的會話實存後註銷

的PHP文檔明確指出:

爲了完全殺掉會話,就像登錄用戶一樣,會話ID也必須是未設置的。如果使用cookie傳播會話標識(默認行爲),則必須刪除會話cookie。 setcookie()可用於此目的。

我試圖在Firefox跟蹤的cookie,並使用session_destroy(),繼續保持PHP SESSIONID的cookie,則用戶下次登錄時,所用的相同SESSIONID ID。

如果我無法刪除SessionID Cookie,那麼在用戶機器退出登錄後遠程登錄會話ID Cookie並不總是安全的嗎?

回答

2

只要做到這一點:

$_SESSION = array(); 

這樣的會議是空的。

沒有必要(也沒有增加安全性)通過摧毀它,就像你嘗試。

0

這應該工作:

session_regenerate_id (true); 

的功能說明:

session_regenerate_id - 用新生成的一個更新當前會話ID。 它只是參數,默認爲false:delete_old_session - 是否刪除舊的關聯會話文件。