php会话的销毁和退出,销毁PHP会话
在stackoverflow上有很多有關破壞會話的頁面.相信我,我一直都在閱讀它們,我發現:Why does my session remain?
我的問題很簡單,是否真的需要我完成以下所有操作才能正確銷毀會話?
$tmp = session_id();
session_destroy();
session_id($tmp);
unset($tmp);
這是唯一表明此類極端措施的頁面.大多數頁面只建議session_destroy();.
為了澄清起見,因為似乎有些混亂,我正在尋找最有效的方法.
提前致謝.
解決方法:
新的答案已經停止出現,因此我將根據所有答案來學習.這是各種答案的匯總.希望它會幫助其他人.下面列出了銷毀會話的最有效方法:100%有效:
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 = array();
$tmp = session_id();
session_id($tmp);
unset($tmp);
session_unset();
session_destroy();
session_write_close();
session_regenerate_id(True); // true indicates the need to delete the old session
感謝大家的幫助,向我展示了如何執行此操作.這不是一個人的努力.我要特別感謝@Kerrek SB,@Uday @Dhruvisha.如果您有更多建議,請隨時添加評論,我將編輯答案.
標簽:destroy,php,security,session
來源: https://codeday.me/bug/20191013/1906189.html
總結
以上是生活随笔為你收集整理的php会话的销毁和退出,销毁PHP会话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用JS/Jquery获得父窗口的几个方
- 下一篇: Solr 使用Facet分组过程中与分词