1. 程式人生 > >齒輪乾貨丨如何利用好Cookie和Session來提高儲存資訊的安全性

齒輪乾貨丨如何利用好Cookie和Session來提高儲存資訊的安全性

在Web發展歷史中,session與cookie都是偉大的存在,其初衷都是為了記住使用者在網站上的瀏覽資訊,如果沒有其他替代品的出現,幾乎所有web站點都離不開session與cookie。cookie、session的出現是由於Http協議是無狀態的,導致伺服器無法分辨是誰瀏覽了網頁,為了維持使用者在網站的狀態,比如登陸、購物車等,先後出現了四種技術,分別是隱藏表單域、URL重寫、cookie、session。由於cookie、session在日常中用的比較多,著重介紹下兩者的區別和概念。

01 

Cookie

(1)Cookie的概念

儲存在使用者本地終端上的資料,是針對每一個網站的資訊,每一個網站只對應一個,其它網站不能訪問,這個檔案是儲存在客戶端的,每次你開啟相應網站,瀏覽器會查詢這個網站的cookies,如果有就會將這個檔案傳送出去。cookies檔案的內容大致包含這些資訊如使用者名稱,密碼,設定等。由伺服器傳送出來以儲存在瀏覽器上,從而下次這位訪客又回到該網路伺服器時,可從該瀏覽器讀回此資訊。

(2)Cookie的分類

目前有些 Cookie 是臨時的,有些則是持續的。臨時的 Cookie 只在瀏覽器上儲存一段規定的時間,一旦超過規定的時間,該 Cookie 就會被系統清除 。


持續的 Cookie 則儲存在使用者的 Cookie 檔案中,下一次使用者返回時,仍然可以對它進行呼叫。在 Cookie 檔案中儲存 Cookie,有些使用者擔心 Cookie 中的使用者資訊被一些別有用心的人竊取,而造成一定的損害。其實,網站以外的使用者無法跨過網站來獲得 Cookie 資訊。如果因為這種擔心而遮蔽 Cookie,肯定會因此拒絕訪問許多站點頁面。因為,當今有許多 Web 站點開發人員使用 Cookie 技術,例如 Session 物件的使用就離不開 Cookie 的支援 。

02 

Session

(1)Session的概念

Session直接翻譯成中文比較困難,一般都譯成時域。在計算機專業術語中,Session是指一個終端使用者與互動系統進行通訊的時間間隔,通常指從註冊進入系統到登出退出系統之間所經過的時間。以及如果需要的話,可能還有一定的操作空間。

具體到Web中的Session指的就是使用者在瀏覽某個網站時,從進入網站到關閉瀏覽器所經過的這段時間,也就是使用者瀏覽這個網站所花費的時間。因此從上述的定義中我們可以看到,Session實際上是一個特定的時間概念。

是針對每一個使用者的,session機制是一種伺服器端的機制。只有客戶機訪問,程式就會為這個客戶新增一個session。session裡主要儲存的是需要在整個使用者會話過程中保持其狀態的資訊,例如登入資訊或使用者瀏覽 Web應用程式時需要的其它資訊,儲存只需要在頁面重新載入過程中或按功能分組的一組頁之間保持其狀態的物件。

(2)Session的作用

Session 的作用就是它在 Web伺服器上保持使用者的狀態資訊供在任何時間從任何裝置上的頁面進行訪問。因為瀏覽器不需要儲存任何這種資訊,所以可以使用任何瀏覽器,即使是像 Pad 或手機這樣的瀏覽器裝置。


03

(1)Cookie和Session的對比

(2)小結

具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。cookie針對每一個網站,session針對每一個使用者。

個人建議:將登陸資訊等重要資訊存放為SESSION,其他資訊如果需要保留,可以放在COOKIE中。

齒輪易創是一家為企業提供一體化技術解決方案的創新型網際網路公司,在企業需要技術產品賦能時,從解決方案、產品設計、產品開發、測試上線等全流程為企業解決實際問題,幫助企業網際網路轉型,資訊化打破技術壁壘。網際網路時代,目前齒輪易創已為包括亞馬遜、印象筆記、格理集團、Visa等200+企業提供軟體定製服務,為2000+企業提供產品諮詢。想要了解更多,請登陸齒輪易創官(chilunyc.com)。

(來源:齒輪易創)

(文章均為原創,轉載請標明出處。)