超碰人人人人人,色婷婷综合久久久久中文一区二区,国产-第1页-浮力影院,欧美老妇另类久久久久久

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

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

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

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)

  • 容量?。s 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ì)、財務(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