只要製作有驗證的系統(例如:會員登入/登出),就應該會聯想到Session應用

以PHP來說:
Server上: Session本身是檔案系統,在Unix like上,通常是被放在/tmp底下, 可以透過php.ini去做修改位置。
Client上: 會建立一筆Cookies紀錄Session_id,讓Server比對來找出該筆Session,解析內容,來做運算。

 基本上是安全的,因為Session內容都在Server上,但是對大型網站來說,一次幾萬筆的Session是很耗資源的。

Codeigniter的作法是將內容做一個加密的動作,然後全部放在cookies裡面,達成一個假Session的感覺,
(這邊要注意,單一個Cookies的最大長度限制通常是4K,一個網域只能有20個)
如果是在高規格安全性,提供了使用Database的方式來做Session,一樣在cookies裡面放session_id但是Server則是讀取Database,速度會比讀取檔案系統快一點點。

另外,常常會有Session消失的問題的話,要檢查看看,Server上是不是有其他程式再跑,使用了大規模毀滅語法: session_destroy();
其實最好的消去Session方式,是針對某個不要的Session去unset他 方法是 unset($sessionname);


arrow
arrow
    全站熱搜

    Matt 發表在 痞客邦 留言(0) 人氣()