我们有一个 MVC 应用程序,由第三方公司使用 IBM 应用程序扫描扫描是否存在安全问题。问题是我们因为捆绑和缩小而提出了多个问题,例如
重点是捆绑和缩小将缓存您的样式表和 javascript 文件。不幸的是,如果不解决这些问题,我们将无法签署。关于我们如何克服这个问题有什么想法吗?
最佳答案
不幸的是,客户不接受他的 CSS 和 javascript 文件被缓存的事实,并要求禁用所有缓存,这解决了所有问题。
为此,我将以下方法添加到 Global.asax
文件中,以禁用对服务器发出的每个请求的缓存。
protected void Application_BeginRequest()
{
HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);
Response.Cache.SetValidUntilExpires(true);
}
这会将 Cache-Control: no-store
和 Pragma: no-cache
添加到响应 header 。下面是使用 Fidler 的 header 图像
请注意,仍然使用捆绑和缩小,但不会缓存文件。采用此路线时请小心,因为提到的整个应用程序的缓存将被关闭。
关于c# - 找到可缓存的 SSL 页面、捆绑和缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25119721/