Cookie和Session的位置的功能

Cookie

Cookie存在於客戶端,Cookie的內容有用於標識的名字、表示的值、可選項(過期時間、路徑、安全設置)。每個網站的Cookie只是Web服務器存儲在客戶端電腦硬盤上的一個很小的文件,因此觸發過期的條件是基於客戶端電腦的時間設置。在PHP中可以利用setcookie指令自行設置Cookie,超全局變量$_COOKIE可以讀取cookie數據。

在建立cookie時最好設置過期時間,或者將其設置爲0,它會在瀏覽器關閉時過期。也可以設置成一個過去的時間,這樣它會被完全刪除,因爲cookie可能會被黑客利用,不過現在瀏覽器的安全係數提高,黑客實現XSS等攻擊有難度。

Session

Session存在於服務器端,本質上跟Cookie類似。每個Session都是存儲在服務器設定目錄中的唯一文件,目錄的位置由php.ini中的session.save_path控制。如果要開始一個Session,則需要使用session_start函數。如果是一段時間內第一次調用這個函數,它會在服務器上存儲一個空的關聯數組,否則會重新打開已有的Session文件並使數據可以訪問。

PHP中同樣也有一個超全局變量$_SESSION用於獲取Session的值,Session多數情況下需要存儲一個Cookie來支持。現在的瀏覽器存在多標籤的功能,如果在不同的標籤中打開同一個網站,PHP會認爲是一個訪問者,Session的內容就會被共享,可能會導致意想不到的後果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章