[英]how do i remove the security risk, due to cached version of page
請參考鏈接
為什么即使在所有銷毀代碼之后,session變量的值仍然保留?
在上面的問題是由我做的登錄功能失敗,因為瀏覽器正在顯示頁面的緩存版本,我也不知道為什么能夠在一定的時間限制內執行所有功能,之后它實現它得到了!
所以,
如何刪除網站的緩存版本,
要么
如何分辨不要讓我的副本在緩存中!!!
通過使用C#
您所能做的就是在您不希望瀏覽器緩存的頁面上添加過期元標記
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="No-Cache, No-Store">
或者在頁面標記添加后在ASP.NET中交替使用
<%@ OutputCache Duration="0" Location="none" NoStore="true" %>
在C#背后的代碼中
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/06bh14hk(v=VS.100).aspx
此處的更多詳細文章http://www.mnot.net/cache_docs/
編輯:在Alxandr的評論后更新
聽起來您在擔心客戶端頁面的緩存版本。 如果是這樣,您可以通過兩種主要方法來解決該問題。 您可以向HTTP標頭或頁面的META標簽添加no-cache屬性。 建議使用HTTP標頭方法 。
META標簽方法
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
HTTP標頭方法
Cache-Control: max-age=3600, must-revalidate
我下面引用的鏈接將為您提供有關HTTP標頭和META標頭的大量信息。 我建議您閱讀它以了解這些選項,並查看各種語言和HTTP Server的示例實現。
甜甜圈緩存和服務器端緩存將解決此問題。 在洞(甜甜圈中心),您驗證用戶的登錄。 如果無效,則執行重定向301到登錄頁面。
瀏覽器將在緩存中復制它的副本。 大喊大叫不會讓它消失。 除非你在其他地方做蠢事,否則這不應該是安全風險。 即使您確實存在安全問題,阻止緩存制作副本也無法解決問題。
所以:你可以阻止瀏覽器緩存,但它不是你想要做的。 瀏覽器仍然會將網頁的副本保存到硬盤中,它不會嘗試顯示它。 這些都不是安全問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.