找到可缓存的SSL页面,捆绑和缩小

And*_*ard 9 c# security ssl asp.net-mvc-4 bundling-and-minification

我们有一个MVC应用程序,使用IBM应用程序扫描由第三方公司扫描安全问题.问题是,例如,由于Bundling和Minification,我们遇到了多个问题

在此输入图像描述

整点是捆绑和缩小将缓存样式表和javascript文件.不幸的是,我们不会在不解决这些问题的情况下签字.关于如何通过这个的任何想法?

And*_*ard 2

不幸的是,客户不接受他的 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);
}
Run Code Online (Sandbox Code Playgroud)

这会将Cache-Control: no-store和添加Pragma: no-cache到响应标头中。下面是使用 Fidler 的标头图像

请注意,仍然使用捆绑和缩小,但文件不会被缓存。采取此路线时请务必小心,如上所述,整个应用程序的缓存将被关闭。

  • 您好,@AshishShukla 采取这条路线只是因为客户不完全理解应用程序扫描结果,并且不会接受对此的专业意见。这纯粹是一个警告,表明如果存储在缓存文件中,则可能会获取敏感信息。那么解决办法呢?不要按照我上面的解决方案所示禁用缓存。 (2认同)