在发布模式下,HTTP标头中的X-MiniProfiler-Id是否构成暴露/安全风险?

时间:2019-07-10 10:21:56

标签: asp.net security webforms miniprofiler

我们有一个(较旧的)网站,该网站使用MiniProfiler来确定页面加载,并且此功能不仅用于调试模式,而且在以管理员身份登录时也用于实时网站。

如果未以管理员身份登录,MiniProfiler JavaScript将不会执行,因此不会在左上角呈现页面加载概述。

但是,X-MiniProfiler-Ids仍在HTTP Header中,这意味着即使没有可视化,每个请求的配置也已完成。

这样做的原因是必须在MiniProfiler不可用的Application_BeginRequest的{​​{1}}函数中启动Global.asax,这是我们保留用户信息的地方。因此,由于我们没有用户信息来确定是否应执行概要分析,因此概要分析是针对每个请求(针对每个用户)完成的,但无法可视化。

我试图通过以其他方式获取存储在Session中的用户信息来解决此问题,但是我发现的解决方案仍然为我提供了Session引用。

即使未执行JavaScript文件,将null放在X-MiniProfiler-Ids中也会构成暴露威胁吗?对每个请求使用HTTP header时,性能会受到损失吗?

我尝试了以下解决方案来获取MiniProfiler变量:

Session
protected void Application_BeginRequest(object sender, EventArgs e)
{
     if (HttpContext.Current.Session["userinfo"] != null)
     {
         MiniProfiler.Start();
     }
}

在两种情况下,protected void Application_AcquireRequestState(object sender, EventArgs e) { if (HttpContext.Current.Session["userinfo"] != null) { MiniProfiler.Start(); } } 均为空。

0 个答案:

没有答案