PHP SESSION銷毀會話

來源:互聯網
上載者:User
這篇文章介紹的內容是關於PHP SESSION銷毀會話,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

session_destroy


(PHP 4, PHP 5, PHP 7)

session_destroy — 銷毀一個會話中的全部資料

說明

bool session_destroy ( void )

session_destroy() 銷毀當前會話中的全部資料, 但是不會重設當前會話所關聯的全域變數, 也不會重設會話 cookie。 如果需要再次使用會話變數, 必須重新調用 session_start() 函數。

Note: 通常情況下,在你的代碼中不必調用 session_destroy() 函數, 可以直接清除 $_SESSION 數組中的資料來實現會話資料清理。

為了徹底銷毀會話,必須同時重設會話 ID。 如果是通過 cookie 方式傳送會話 ID 的,那麼同時也需要 調用 setcookie() 函數來 刪除用戶端的會話 cookie。

當啟用了 session.use_strict_mode 配置項的時候,你不需要刪除到期會話 ID 對應的 cookie, 因為會話模組已經不再接受攜帶到期會話 ID 的 cookie 了, 然後它會產生一個新的會話 ID cookie。 建議所有的網站都啟用 session.use_strict_mode 配置項。


Warning

過早的刪除會話中的資料可能會導致不可預期的結果。 例如,當存在從 JavaScript 或者 URL 連結過來的並發請求的時候, 某一個請求刪除了會話中的資料,會導致其他的並發請求無法使用會話資料。

雖然當前的會話處理模組不會接受為空白的會話 ID, 但是由於用戶端(瀏覽器)的處理方式, 立即刪除會話中的資料可能會導致產生為空白的會話 cookie, 進而導致用戶端產生很多不必要的會話 ID cookie。

為了避免這種情況的發生,你需要在 $_SESSION 中設定一個時間戳記, 在這個時間戳記之後的對於會話的訪問都將被拒絕。 或者,確保你的應用中不存在並發請求。 這個規則同樣適用於 session_regenerate_id()。 session_regenerate_id() also.


傳回值


成功時返回 TRUE, 或者在失敗時返回 FALSE


範例


Example #1 銷毀會話資料以及


<?php// 初始化會話。// 如果要使用會話,別忘了現在就調用:session_start();// 重設會話中的所有變數$_SESSION = array();// 如果要清理的更徹底,那麼同時刪除會話 cookie// 注意:這樣不但銷毀了會話中的資料,還同時銷毀了會話本身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();?>



ini_get
(PHP 4, PHP 5, PHP 7)

ini_get — 擷取一個配置選項的值

說明
string ini_get ( string $varname )

成功時返回配置選項的值。


session_get_cookie_params — 擷取會話 cookie 參數,返回數組

相關推薦:

PHP session 防止重複登入

PHP session的銷毀是三種方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.