2013-05-13 42 views
0

我們希望「防止無意中釋放或保留敏感信息(例如,備份磁帶:))」並計劃使用HTTP標頭緩存控制:無存儲。這樣做的缺點是什麼?從規範來看,看起來緩存將繼續運行 - 它不能使用非易失性存儲。爲了選擇哪些響應來指定無商店,我們有一些「敏感度」的措施。我們應該採用什麼樣的平衡措施 - 換句話說,爲什麼不把所有網頁都標記爲不存儲?使用緩存控制有什麼缺點:無存儲?

+2

性能下降浮現在腦海。但是,一旦你發送了一些東西給瀏覽器,你不再控制它,所以我不確定什麼操縱緩存策略將完成。 – 2013-05-13 23:15:27

+0

我們已經要求我們阻止訪問者訪問用戶的機器(並因此訪問磁盤上的瀏覽器緩存文件)訪問敏感頁面。大多數現代瀏覽器似乎都明白並且使用'no-store'指令來做一些理智的事情。 – 2013-05-13 23:54:23

回答

1

通過使用存儲,客戶端有一個他們可以使用的本地緩存。這個緩存爲他們提供了性能提升,並降低了您自己的服務器上的負載。

就你而言,我覺得有敏感的頁面發送沒有緩存是有道理的。

我相信另一個沒有存儲的技術問題(這更多的是一個奇怪的副作用)是舊版本的IE在緩存關閉的情況下Content-Disposition頭有問題。行爲是這樣的,下載提示將無限期地有0%的進展。

關於無緩存策略的一個誤解是,瀏覽器會實際遵守它,而不是將其保存到磁盤。這不是真的 - 許多現代瀏覽器實際上緩存所有對磁盤的響應(參見SO)。但是,這種緩存是在這些情況下加密的。總的來說,我認爲它是安全的。請確保你不依賴於這種機制,因爲@Robert Harvy說,一旦你發送它,你就會受到瀏覽器的支配,想要保存它。

+0

謝謝。你的第一段是我的想法,但很難衡量。 在我們的應用程序中,有很多敏感信息和緩存是非常有用的。我們希望我們能夠保持緩存並以平衡的方式避免磁盤存儲。 是的,我清楚這不是一個完整的安全修復程序。例如,如果一個壞人可以訪問該用戶帳戶,那麼他們可以用任何他們喜歡的數據替換瀏覽器。我試圖在這種情況下找到這些信息變得更加複雜。機器的安全性無法保證。 – 2013-05-15 18:02:08

相關問題