asp.net mvc隐藏IIS和mvc版本信息

时间:2024-10-13 17:31:40

1、创建空的asp.net mvc项目MVCRemoveHeader,并添加HomeController、Index页面

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

2、在VS中使用Chrome浏览器debug调试页面,在浏览器窗口按F12,进入开发者模式,依次点击【Netwrok】->【localhost】->【Headers】就可以看到如图所示的各种服务器信息 注意:如果打开F12模式后,network下面看不到localhost,则刷新页面即可看到了

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

3、隐藏MVC版本信息(节点:X-AspNetMvc-Version) 在Global.asax的Application_Start方法中添加如下代码,再次运行就没有 X-AspNetMvc-Version: MvcHandler.DisableMvcResponseHeader = true;

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

4、隐藏asp.net 版本信息(节点:X-AspNet-Version) 在web.config文件的system.web节点下添加如下配置,再次运行就没有 X-AspNet-Version: <httpRuntime enableVersionHeader="false" /> 注意:默认是有httpRuntime节点的,因此只需要增加 enableVersionHeader="false"

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

5、隐诏潞逾乐藏X-Powered-By节点 在web.config文件中添加如下节点,如果已经存在,则修改对应节点,再次运行就没有 X-Powered-By: <system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol> </system.webServer>

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

6、隐诏潞逾乐藏IIS版本信息(节点:Server) 在Global.asax中添加如下代码,指定移除Server节点,再次运行就没有 Server: /// <summary> /// 隐藏 Response Header 中的Server节点(IIS版本信息) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Application_PreSendRequestHeaders(object sender, EventArgs e) { HttpApplication application = sender as HttpApplication; if (application != null && application.Context != null) { application.Context.Response.Headers.Remove("Server"); } }

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息

7、做完上述几个节点隐藏前后的Response Header比对如下:

asp.net mvc隐藏IIS和mvc版本信息
asp.net mvc隐藏IIS和mvc版本信息
© 手抄报圈