如何避免localStorage存儲的值被修改?

笨笨地飛


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


以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!


分享到:


相關文章: