我們希望「防止無意中釋放或保留敏感信息(例如,備份磁帶:))」並計劃使用HTTP標頭緩存控制:無存儲。這樣做的缺點是什麼?從規範來看,看起來緩存將繼續運行 - 它不能使用非易失性存儲。爲了選擇哪些響應來指定無商店,我們有一些「敏感度」的措施。我們應該採用什麼樣的平衡措施 - 換句話說,爲什麼不把所有網頁都標記爲不存儲?使用緩存控制有什麼缺點:無存儲?
0
A
回答
1
通過使用存儲,客戶端有一個他們可以使用的本地緩存。這個緩存爲他們提供了性能提升,並降低了您自己的服務器上的負載。
就你而言,我覺得有敏感的頁面發送沒有緩存是有道理的。
我相信另一個沒有存儲的技術問題(這更多的是一個奇怪的副作用)是舊版本的IE在緩存關閉的情況下Content-Disposition頭有問題。行爲是這樣的,下載提示將無限期地有0%的進展。
關於無緩存策略的一個誤解是,瀏覽器會實際遵守它,而不是將其保存到磁盤。這不是真的 - 許多現代瀏覽器實際上緩存所有對磁盤的響應(參見SO)。但是,這種緩存是在這些情況下加密的。總的來說,我認爲它是安全的。請確保你不依賴於這種機制,因爲@Robert Harvy說,一旦你發送它,你就會受到瀏覽器的支配,想要保存它。
+0
謝謝。你的第一段是我的想法,但很難衡量。 在我們的應用程序中,有很多敏感信息和緩存是非常有用的。我們希望我們能夠保持緩存並以平衡的方式避免磁盤存儲。 是的,我清楚這不是一個完整的安全修復程序。例如,如果一個壞人可以訪問該用戶帳戶,那麼他們可以用任何他們喜歡的數據替換瀏覽器。我試圖在這種情況下找到這些信息變得更加複雜。機器的安全性無法保證。 – 2013-05-15 18:02:08
相關問題
- 1. 當我使用AJAX時,Firefox忽略緩存控制無存儲,無緩存
- 2. 使用Hibernate的二級緩存有什麼缺點?
- 3. 緩衝控制無緩存
- 4. 使用jQuery控制緩存
- 5. HTTP緩存:緩存控制
- 6. HTTP緩存:爲什麼使用ETag而不是緩存控制和/或過期?
- 7. 如何使用Rackspace雲存儲上的carrierwave控制緩存?
- 8. 使存儲庫持久化無知的優點/缺點是什麼?
- 9. 在文件系統上存儲圖像有什麼缺點?
- 10. JSON服務器端數據存儲文件有什麼缺點?
- 11. 使用WebDAV而不是SSH託管git存儲庫有什麼缺點?
- 12. 這些差異緩存控制參數有什麼區別?
- 13. 緩存控制頭
- 14. HTTP緩存控制
- 15. Ajax緩存控制
- 16. 緩存用戶控制
- 17. 基於HttpContext的緩存與System.Runtime.Cache的優缺點是什麼?
- 18. Silverlight 4中位圖緩存的缺點是什麼?
- 19. Rails的緩存存儲有什麼區別?
- 20. 爲什麼我的緩存片段沒有存儲?
- 21. 使用Maven有什麼優點/缺點?
- 22. 緩存用戶權限的缺點
- 23. 限制內存緩存存儲
- 24. 捲曲-X GET -I -H 「緩存控制:無緩存」 不繞過
- 25. HTTP/1.1緩存控制無緩存問題
- 26. webapp2如何刪除緩存控制:從響應頭無緩存?
- 27. 在SQL和Java中編寫DB2存儲過程有什麼優點和缺點?
- 28. 在數據庫中存儲文件有什麼優點和缺點?
- 29. Django緩存控制標題:Chrome爲什麼不緩存此資源?
- 30. 什麼時候使用laravel存儲/緩存,存儲/會話和存儲/元目錄?
性能下降浮現在腦海。但是,一旦你發送了一些東西給瀏覽器,你不再控制它,所以我不確定什麼操縱緩存策略將完成。 – 2013-05-13 23:15:27
我們已經要求我們阻止訪問者訪問用戶的機器(並因此訪問磁盤上的瀏覽器緩存文件)訪問敏感頁面。大多數現代瀏覽器似乎都明白並且使用'no-store'指令來做一些理智的事情。 – 2013-05-13 23:54:23