[英]How Delete session from visitor browser
我的會話有問題,我嘗試unset($_SESSION)
和session_unset()
以及session_destroy()
會話,但仍在瀏覽器中顯示(cookie擴展)
我想像session_start(['cookie_lifetime' => 10])
這樣刪除終結點,但我不想設置時間,我只想在我的php代碼中的某個位置刪除它,有什么想法嗎?
我的代碼在這里:
<?php
session_start();
$_SESSION['style'] = $style;
echo "Your style is : " . $style;
unset($_SESSION['style']);
session_destroy();
存儲在瀏覽器中的會話cookie僅包含對服務器上會話ID的引用,並且不包含任何實際會話數據。 所有這些都僅存儲在服務器上,如果將其存儲在客戶端,則實際上將是一個巨大的安全問題。 如果您刪除服務器上的會話,這將刪除服務器上與該會話有關的所有數據,並且任何使用舊會話ID進行重新身份驗證的嘗試都將失敗。 如果在會話被銷毀后瀏覽器將舊的會話cookie發送回服務器,則服務器將簡單地忽略它。 因此,無需從用戶的瀏覽器中刪除會話cookie,因為當關閉窗口時,瀏覽器會自動完成會話cookie。 建議終止會話的簡單方法是:
$_SESSION = array();
不過,無論如何,如果您出於任何原因要手動強制刪除Cookie,請執行以下操作:
<?php
session_start();
$_SESSION['style'] = $style;
echo "Your style is : " . $style;
unset($_SESSION['style']);
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', -1,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.