2010-09-15 84 views
47

將localStorage用於敏感數據(假設當前的HTML5實現)會是好的還是壞主意?HTML5 localStorage安全

我可以使用哪些方法來保護數據,使其無法被客戶端計算機訪問的人讀取?

+0

我發佈了[類似的問題的答案](http://stackoverflow.com/a/24677597/19212),可能也是照亮。 – 2014-07-10 13:25:00

回答

54

壞主意。

  1. 有人可以訪問機器總是能夠讀取localStorage,沒有什麼可以做,以防止它。只需在firebug控制檯中鍵入'localStorage',就可以獲得所有鍵/值對的良好列表。
  2. 如果您的應用程序中存在XSS漏洞,攻擊者可以使用存儲在localStorage中的任何內容。
  3. 你可以嘗試加密它,但有一個問題。在客戶端上加密它是可能的,但意味着用戶必須提供密碼,你必須依賴未經過充分測試的加密算法的JavaScript實現。
  4. 當然可以在服務器端進行加密,但客戶端代碼無法讀取或更新它,因此您已將localStorage減少爲一個美化的cookie。

如果需要安全,最好不要發送給客戶端。不受你控制的東西永遠不會安全。

+3

我會再來。糟糕的做法。 https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Local_Storage_.28a.ka_Offline_Storage.2C_Web_Storage.29 – 2011-11-02 12:41:06

+7

但是,最好的一點是,來自域的腳本可以讀取由該域設置的'localStorage' **只有** – 2013-03-04 16:49:43

-2

公共密鑰密碼學可用於防止任何類型的入侵。另外,可以使用數據完整性檢查(例如CRC或散列)來確保服務器驗證數據。

+4

編號PKI對每個案例都沒有幫助。而且,如果攻擊者可以更改內容,他們也可以輕鬆更改散列。儘管如此,哈希可以幫助檢測無意的變化(「腐敗」)。 – Olli 2013-09-30 08:52:57