日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【W(wǎng)eb開發(fā)】瀏覽器不要再用localStorage了,這6種存儲方案既安全又高效

admin
2025年4月1日 23:0 本文熱度 284

localStorage 是瀏覽器中 window 對象的一個只讀屬性,主要用于存儲鍵值對,localStorage提供了一種簡單的API來存儲鍵值對數(shù)據(jù),主要包括setItem、getItem、removeItem和clear等方法。它適用于存儲少量需要跨會話持久化的數(shù)據(jù),存儲上限一般在4MB到10MB之間,具體數(shù)值因?yàn)g覽器而異(例如Chrome、Firefox和Safari等)?。localStorage的數(shù)據(jù)在瀏覽器關(guān)閉后仍然保留,適合長期存儲數(shù)據(jù),如用戶的偏好設(shè)置和表單數(shù)據(jù)等?。

?
隨著web應(yīng)用復(fù)雜度的增加,安全要求的加強(qiáng),性能等多方面的需求,localStorage 的局限性也愈發(fā)明顯。本文將分享6種 存儲方案  以滿足不同開發(fā)場景!

localStorage存在的隱患與局限


1.安全問題:

  • 明文存儲localStorage的數(shù)據(jù)以明文形式存儲,易受 XSS(跨站腳本)攻擊。如果惡意腳本注入頁面,可以直接讀取所有數(shù)據(jù)。

  • 無自動加密:敏感信息(如 Token、用戶憑證)若未手動加密,容易被竊取。


2.功能限制

    • 僅支持字符串:復(fù)雜數(shù)據(jù)需手動序列化(如JSON.stringify),增加額外處理成本。

    • 同步操作:讀寫是同步的,可能阻塞主線程,影響頁面性能(尤其在低端設(shè)備或大數(shù)據(jù)量時)。

    • 存儲容量限制:通常為 5MB(不同瀏覽器有差異),無法滿足大規(guī)模數(shù)據(jù)需求。

3.應(yīng)用場景局限

  • 僅限同源頁面共享:無法跨域或跨標(biāo)簽頁同步數(shù)據(jù)。

  • 無過期機(jī)制:需手動清理數(shù)據(jù),缺乏類似 Cookie 的自動過期功能。

更安全、高效的6種替代方案

1. IndexedDB 


?IndexedDB?是一種在瀏覽器中用于存儲大量結(jié)構(gòu)化數(shù)據(jù)的底層API,屬于NoSQL數(shù)據(jù)庫。它允許開發(fā)者在用戶的瀏覽器中存儲數(shù)據(jù),而無需依賴外部服務(wù)器。IndexedDB使用鍵值對的方式存儲數(shù)據(jù),并通過索引實(shí)現(xiàn)對數(shù)據(jù)的高性能搜索?


  • 特點(diǎn)

    • 支持結(jié)構(gòu)化數(shù)據(jù)(對象存儲)、大容量存儲(通常數(shù)百 MB 甚至更多)。

    • 異步操作,不阻塞主線程。

    • 支持事務(wù)、索引查詢和復(fù)雜查詢。


  • 適用場景

    • 需要離線功能的 PWA(漸進(jìn)式 Web 應(yīng)用)。

    • 存儲大量結(jié)構(gòu)化數(shù)據(jù)(如用戶日志、緩存文件)。


安全建議

仍需避免存儲敏感信息,必要時加密數(shù)據(jù)。

2. HTTP-only Cookies(服務(wù)端標(biāo)記)

?HTTP-only Cookie?是一種特殊的Cookie,其主要安全特性在于它只能被服務(wù)器讀取和修改,而不能被瀏覽器中的其他程序(如JavaScript)讀取或修改。這種特性使得HTTP-only Cookie能夠有效地防止跨站腳本攻擊(XSS)和其他惡意腳本的攻擊,保護(hù)用戶的個人信息和會話信息?


特點(diǎn)

    • 通過 HttpOnly 和 Secure 標(biāo)記防止 XSS 和中間人攻擊。

    • HttpOnly:禁止 JavaScript 讀取,僅服務(wù)端可操作。

    • Secure:僅通過 HTTPS 傳輸。

適用場景

  • 存儲會話 ID 或身份驗(yàn)證 Token。

缺點(diǎn)

  • 容量小(約 4KB),不適合存大數(shù)據(jù)。


3. 服務(wù)端存儲(數(shù)據(jù)庫 + 緩存)


?服務(wù)端存儲?是指在服務(wù)器上用于存儲和管理數(shù)據(jù)的資源,主要包括數(shù)據(jù)庫和緩存。服務(wù)端存儲的主要作用是確保數(shù)據(jù)的持久存儲和高效訪問。


  • 特點(diǎn)

    • 敏感數(shù)據(jù)(如用戶個人信息)直接存儲在后端數(shù)據(jù)庫(如 PostgreSQL、Redis)。

    • 通過 HTTPS 加密傳輸,前端僅保留臨時 Token。

  • 適用場景

    • 需要高安全性的用戶數(shù)據(jù)管理。


  • 優(yōu)勢

    • 完全控制數(shù)據(jù)權(quán)限和安全策略。


4.現(xiàn)代瀏覽器 API


  • Cache API

    • 專為緩存網(wǎng)絡(luò)請求設(shè)計(jì)(常用于 Service Worker)。

    • 適合存儲靜態(tài)資源(HTML/CSS/JS)或 API 響應(yīng)。


  • File System Access API

    • 允許瀏覽器直接讀寫本地文件系統(tǒng)(需用戶授權(quán))。

    • 適合處理大型文件(如編輯器、媒體應(yīng)用)。


5. 狀態(tài)管理庫(如 Redux、Vuex)


  • 特點(diǎn)

    • 內(nèi)存級存儲,讀寫速度快。

    • 結(jié)合持久化插件(如 redux-persist)可定期同步到安全存儲(如 IndexedDB)。

  • 適用場景

    • 單頁應(yīng)用(SPA)的臨時狀態(tài)管理。


6. 加密存儲方案


  • Web Cryptography API

    • 在客戶端加密數(shù)據(jù)后再存儲到 localStorage 或 IndexedDB。

    • 密鑰由服務(wù)端動態(tài)下發(fā),避免硬編碼在前端。


  • 示例流程

    • 1.用戶登錄時,服務(wù)端生成加密密鑰。

    • 2.前端用密鑰加密數(shù)據(jù)后存儲。

    • 3.密鑰通過 HTTPS 傳輸,且不持久化在客戶端。


如何選擇存儲方案?

場景推薦方案
敏感信息(如 Token)
HTTP-only Cookie + 服務(wù)端存儲
大量結(jié)構(gòu)化數(shù)據(jù)
IndexedDB
靜態(tài)資源緩存
Cache API + Service Worker
臨時狀態(tài)管理
內(nèi)存存儲(Redux/Vuex)
需要高安全性的離線數(shù)據(jù)
IndexedDB + 客戶端加密


總結(jié)

  • 不用localStorage 的核心原因:安全性差、同步阻塞、容量限制。

  • 替代方案的核心優(yōu)勢

    • 安全:通過服務(wù)端存儲、HTTP-only Cookie、加密 API 隔離風(fēng)險。

    • 性能:異步操作(如 IndexedDB)避免阻塞主線程。

    • 擴(kuò)展性:支持大數(shù)據(jù)量和復(fù)雜查詢。

實(shí)際開發(fā)中,通常會結(jié)合多種方案(如 Cookie 存 Token + IndexedDB 存離線數(shù)據(jù) + 內(nèi)存狀態(tài)管理),同時通過代碼混淆、CSP 策略、輸入過濾等手段進(jìn)一步防御 XSS 攻擊。


閱讀原文:原文鏈接


該文章在 2025/4/2 16:39:06 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产第二区| 国产福利专区 | 国产在线青青 | 国产福利免费 | 区三区免费中文字幕 | 国产精品99五月天 | 国产乱码一区二区三区免费 | 国产尤物在线视精品在亚洲 | 日韩精品在线播放 | 99视频在线观看精品29 | 日韩视频中文 | 亚洲视频偷拍视频2亚 | 性插爽视频欧 | 性一交一乱一伦一 | 亚洲国内精品 | bt天堂国产狂喷潮在线观看 | 欧一美一性一交一乱一性一 | 91tv最新永久在线地址 | 亞洲最大 | 日韩在线观 | 国产精品福利电影一区二区三 | 色哟哟免费精品网站入口 | 好看动漫 | 国产综合精品一区二区 | 99ri视频一区二区三区 | 2025中文字幕无 | 精品国产免费一区二区三区 | 区中文字幕 | 国产美日韩精品一区二区在线观看 | 女の乳搾りです在线观看 | 国产精品边做奶 | 欧美激情一区二区三区高清视 | 日韩精品在线观看 | 欧美国产激情二区三区 | 日韩高清免费视频观看 | 99中文字幕精品国产 | 日本护士毛茸茸xx | 婷婷综合激情五月中文字幕 | 多人伦交性欧美 | 好看的电视剧免 | 伊人激情一区二区三区 |