html 响应asp.net,(C#)IIS响应头敏感信息(Server/X-AspNet-Version等)过滤
如下图所示,如果不经过处理,相应头会出现如下敏感信息,影响服务安全。
那么如何将这些信息隐藏呢?
第一种方案:
添加以下代码到文件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中的中添加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证书等进行保障。