簡體   English   中英

每頁localStorage?

[英]Per-page localStorage?

在HTML5中,是否可以創建僅單個網頁可以訪問的本地存儲?

我目前正在嘗試編寫獨立的單頁應用程序的可能性,以及用戶是否可以自己托管它們,例如在其Dropbox(具有一些用於公共文件的基本Web托管功能)上還是通過在Linux上運行最小的WebServer來托管它們。 localhost

然后,用戶可以從其本地服務器/ Dropbox中的各種來源啟動此類HTML應用程序,或者被要求從另一個用戶Dropbox中打開一個HTML應用程序。

由於所有這些頁面都將從同一來源(當前為https://dl.dropboxusercontent.com )提供服務,因此它們將共享一個單獨的localStorage ,這可能會在名稱沖突和數據泄漏的情況下干擾功能; 例如,這樣的頁面可能要在localStorage存儲中存儲用於訪問用戶Dropbox帳戶的身份驗證令牌,但隨后其他任何此類“應用程序”都將能夠竊取令牌。


我必須在這里說,我是HTML5的新手,並且很可能會擴展此處的預期使用范圍,因為由於諸如同源策略之類的基本Web安全概念(尤其是在打開HTML文件時),我一直受到限制從本地驅動器通過file:// uri。

核心意圖是允許用戶通過利用現有的Web服務訂閱進行托管和數據同步,而不是將其數據移動到另一服務,從而在移動設備和桌面設備上托管自己的自定義應用程序。

如前所述這里 ,localStorage的是通過協議,域和端口,沒有別的作用域。

這樣,即使通過為每個localStorage關鍵字添加唯一的頁面標記(即localStorage.set('page1.' + key) )作為前綴,也無法避免其他頁面獲取這些信息,因此,沒有簡單的方法來避免信息泄漏。

您可以使用唯一的頁面標識符(甚至url)作為加密存儲數據的密鑰。 理論上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM