我們知道,Local Storage是HTML5推出的一種本地化儲存技術。其實在Local Storage出來之前我們使用本地化儲存只能選擇Cookie,但是Cookie並不是用來做本地儲存的,而是一種會話保持技術。Cookie資料會作為請求頭的一部分傳遞給伺服器端,如果Cookie數量過多、資料較大都會影響請求速度的,所以並不建議把Cookie作為本地儲存方案。
Local Storage推出後,就緩解了這種尷尬,它可以儲存較大容量的資料。不同瀏覽器對於Local Storage的支援不同,Local Storage一般能儲存5M左右的資料,這個資料量遠遠超過了Cookie了。
雖然說Local Storage有同源策略,但資料是完全儲存在客戶端瀏覽器(硬碟)中的,所以使用者可以隨意修改Local Storage的資料(新增、修改、刪除)。
所以對於客戶端的資料,都是不可靠的,在實際開發中我們建議不要將敏感資料存入Local Storage中!
以Chrome瀏覽器為例,我們開啟除錯工具,切換到“Application”選項卡,選擇Local Storage後新建一個Key,如下圖示:
然後我們在“Console”視窗讀取Local Storage中指定的Key,如下圖示:
我們只能最大程度避免Local Storage中的資料被篡改,這裡說的避免篡改不是說避免被修改,而是說防止他人惡意修改了KV資料後使之生效影響WEB業務。
我們可以將資料以非對稱加密方式存入Local Storage中,這樣他人修改了加密後的資料後會導致驗證失敗(即:資料非法),不會影響我們的業務。
我們知道,Local Storage是HTML5推出的一種本地化儲存技術。其實在Local Storage出來之前我們使用本地化儲存只能選擇Cookie,但是Cookie並不是用來做本地儲存的,而是一種會話保持技術。Cookie資料會作為請求頭的一部分傳遞給伺服器端,如果Cookie數量過多、資料較大都會影響請求速度的,所以並不建議把Cookie作為本地儲存方案。
Local Storage推出後,就緩解了這種尷尬,它可以儲存較大容量的資料。不同瀏覽器對於Local Storage的支援不同,Local Storage一般能儲存5M左右的資料,這個資料量遠遠超過了Cookie了。
Local Storage資料是否可以修改?雖然說Local Storage有同源策略,但資料是完全儲存在客戶端瀏覽器(硬碟)中的,所以使用者可以隨意修改Local Storage的資料(新增、修改、刪除)。
所以對於客戶端的資料,都是不可靠的,在實際開發中我們建議不要將敏感資料存入Local Storage中!
以Chrome瀏覽器為例,我們開啟除錯工具,切換到“Application”選項卡,選擇Local Storage後新建一個Key,如下圖示:
然後我們在“Console”視窗讀取Local Storage中指定的Key,如下圖示:
是否有措施避免Local Storage的值被篡改?我們只能最大程度避免Local Storage中的資料被篡改,這裡說的避免篡改不是說避免被修改,而是說防止他人惡意修改了KV資料後使之生效影響WEB業務。
我們可以將資料以非對稱加密方式存入Local Storage中,這樣他人修改了加密後的資料後會導致驗證失敗(即:資料非法),不會影響我們的業務。