Home >> Blog >> php session 簡介 - session的啟動、應用與清除方式

php session 簡介 - session的啟動、應用與清除方式

什麼是session?

一般來說,session是指兩種介質之間的通信幀。PHP session用於將資料存儲在伺服器而不是用戶的計算機上。session標識符或 SID 是一個唯一編號,用於在基於session的環境中識別每個用戶。SID 用於將用戶與他在伺服器上的信息(如貼文、電子郵件等)鏈接起來。

session比 cookie 好在哪裡?

雖然 cookie 也用於存儲用戶相關資料,但它們存在嚴重的安全問題,因為 cookie 存儲在用戶的計算機上,因此它們對攻擊者開放,可以輕鬆修改 cookie 的內容。攻擊者在 cookie 中添加有害資料可能會導致應用程序崩潰。

除此之外,cookie 還會影響網站的性能,因為 cookie 會在用戶每次查看頁面時發送用戶資料。每次瀏覽器向伺服器請求 URL 時,該網站的所有 cookie 資料都會在請求中自動發送到伺服器。

以下是 PHP session中涉及的不同步驟:

  • 啟動 PHP session:第一步是啟動session。session啟動後,可以創建session變量來存儲信息。PHP session_start()函數用於開始一個新session。它還為用戶創建一個新的session ID。 下面是開始一個新session的 PHP 代碼:

    < ?php

    session_start();

    ?>

  • 存儲session資料:使用$_SESSION[]超全局數組的鍵值對中的session資料。可以在session的生命週期內訪問存儲的資料。 下面是使用兩個session變量 Rollnumber 和 Name 存儲session的 PHP 代碼:

    < ?php

    session_start();

    $_SESSION["Rollnumber"] = "11";
    $_SESSION["Name"] = "Ajay";

    ?>

  • 訪問session資料:通過首先調用session_start()然後將相應的鍵傳遞給$_SESSION關聯數組,可以輕鬆訪問存儲在session中的資料。 使用兩個session變量 Rollnumber 和 Name 訪問session資料的 PHP 代碼如下所示:

    < ?php

    session_start();

    echo 'The Name of the student is :' . $_SESSION["Name"] . '
    '; echo 'The Roll number of the student is :' . $_SESSION["Rollnumber"] . '
    '; ?>

    輸出:

    學生姓名:Ajay
    學生的捲號是:11

  • 銷毀某些session資料:要僅刪除某個session資料,可以將未設置功能與$_SESSION關聯數組中的相應session變量一起使用。 僅從關聯session數組中取消設置“Rollnumber”session變量的 PHP 代碼:

    < ?php

    session_start();

    if(isset($_SESSION["Name"])){
    unset($_SESSION["Rollnumber"]);
    }

    ?>

  • 銷毀完整session:session_destroy()函數用於完全銷毀session。session_destroy() 函數不需要任何參數。

    < ?php

    session_start();
    session_destroy();

    ?>

要點

  1. session ID 由 PHP 引擎隨機生成。
  2. session資料存儲在伺服器上,因此不必與每個瀏覽器請求一起發送。
  3. session_start() 函數需要在頁面的開頭調用,然後瀏覽器中的腳本生成任何輸出。

certificate

exercises

教程

quiz

quiz

and

and

php

php

php

php

php

php

php

php

php

php