笨笨地飛
我們知道,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中,這樣他人修改了加密後的數據後會導致驗證失敗(即:數據非法),不會影響我們的業務。