今天我們來聊聊 PHP 的 Session
PHP Session 主要是以用戶端的 Cookie 來記錄一組 Hash,藉由這組 Hash 來查詢伺服端的 Session 是否存在
故一般來說 php.ini 設定檔案裡面建議使用 use only cookies,也就是用戶端必須開啟 Cookie 才可以使用 Session
但是並不代表這樣 Session 就安全無虞,用戶端 Cookie 內所記錄的 Hash 還是有可能讓有心人擷取冒用
建議可以搭配判斷用戶端的 IP 來檢查,如果 IP 不一樣的話就刪除整個 Session
session_start(); if (!isset($_SESSION['IP'])) { $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; } else if ($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) { // 判斷 IP 非 Session 內記錄的 IP session_destroy(); session_start(); }
盡可能搭配 http ssl 協定來增加傳輸的安全性