查询参数通过SSL传递,可能包含敏感信息

时间:2017-03-13 12:43:28

标签: c# security asp.net-mvc-4 ssl bundling-and-minification

我被迫处理IBM AppScan结果。这个让我头痛。我在下面执行的语句中从AppScan获得以下标志(和其他人一样)。

标记: 查询参数通过SSL传递,可能包含敏感信息 资源: https://.../bundles/jqueryval?v=(version)

它的根源似乎是捆绑和缩小。

我的RegisterBundles看起来像这样:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                       "~/Scripts/jquery-{version}.js"));
...
}

我的_Layout.cshtml就像这样调用它:

<head>
   <meta charset="utf-8" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>CD Renewal - @ViewBag.Title</title>
   @Styles.Render("~/Content/css")
   @Scripts.Render("~/bundles/jquery")
   @Scripts.Render("~/bundles/jqueryval")
   @Scripts.Render("~/bundles/modernizr")
   @Scripts.Render("~/bundles/bootstrap")
</head>

关于如何进行捆绑的任何想法都会将正文中的版本参数(v)作为帖子传递而不是查询字符串?

1 个答案:

答案 0 :(得分:0)

在与Microsoft支持人员讨论此问题之后,我从他们那里得到了精简的答案:

  

&#34;这是一种设计行为,查询字符串将被添加到   URL作为“缓存破坏者”,以便客户端不会缓存旧的   版本

     

此外,在服务器端完全忽略查询字符串   并且它不容易受到任何攻击。&#34; - Microsoft高级支持