隐藏

(C#)IIS响应头敏感信息(Server/X-AspNet-Version等)过滤

发布:2020/10/14 23:06:26作者:管理员 来源:本站 浏览次数:1103

如下图所示,如果不经过处理,相应头会出现如下敏感信息,影响服务安全。

 

那么如何将这些信息隐藏呢?

第一种方案:

添加以下代码到文件global.asax.cs

protected void Application_PreSendRequestHeaders()
{
    Response.Headers.Remove("Server");
    Response.Headers.Remove("X-AspNet-Version");
    Response.Headers.Remove("X-AspNetMvc-Version");
} 第二种方案: 可以通过过滤器进行拦截处理。方式与第一种方案基本无一。 第三种方案:
1.借助UrlScan 移除Header中的Server,附带urlscan文件
  • 安装工具UrlScan,默认一直点就可以了
  • 修改URLCan.ini(位置:%WINDIR%\System32\Inetsrv\URLscan)中的配置"RemoveServerHeader=1",看字面意思就知道是一出Server头信息咯。
  • 重启iis服务

2.移除 X-AspNet-Version

在web.config中的<httpRuntime>中添加enableVersionHeader="false"

3.移除X-AspNetMvc-Version,

global.asax.cs中的方法 Application_Start()添加如下代码:

protected void Application_Start() 
{ 
    MvcHandler.DisableMvcResponseHeader = true; 
}
4.移除X-Powered-By
  这个在IIS服务器上配置即可:
  如下图所示:

 

 

 

 点击删除即可,简单吧。

最后,还是建议使用第一种或第二种方案。毕竟UrlScan除了移除Server以外,还会拦截一些有注入风险的请求,要是你的项目中有些请求不是很安全,有可能会被拦截处理哦。

当然,站点的安全性,还得通过请求加密,加签以及添加SSL证书等进行保障。