1 2 3 4 Server:Microsoft-IIS/7.5 X-AspNet-Version:4.0.30319 X-AspNetMvc-Version:4.0 X-Powered-By:ASP.NET
如上ASP.NET自动添加的Header属性,以下总结几个移除Header的有效方式:
直接在Respone删除 1 2 3 4 HttpContext.Current.Response.Headers.Remove("Server"); HttpContext.Current.Response.Headers.Remove("X-Powered-By"); HttpContext.Current.Response.Headers.Remove("X-AspNet-Version"); HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
此种方式简单,但是需要在所有Action附加代码。
通过重写HttpModule 实现HttpModule:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public class MyHttpModule : IHttpModule { public void Init(HttpApplication application) { application.PreSendRequestHeaders += OnPreSendRequestHeaders; } void OnPreSendRequestHeaders(object sender, EventArgs e) { HttpContext.Current.Response.Headers.Set("Server", "SKYF SERVER"); //重写Server HttpContext.Current.Response.Headers.Remove("X-Powered-By"); HttpContext.Current.Response.Headers.Remove("X-AspNet-Version"); HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version"); } ...其他代码 }
最后记得在web.config 注册 httpModules节点。这样修改全局web服务便可生效。
其他方式 删除MVC Header:在Global.asax中的Application Start事件加入如下代码:
MvcHandler.DisableMvcResponseHeader = true;
删除 X-AspNet-Version、X-Powered-By,在web.config配置:
1 2 3 4 5 6 7 8 9 10 11 <system.web> <httpRuntime enableVersionHeader="false" /> </system.web> <system.webServer> <httpProtocol> <customHeaders> <clear /> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol> </system.webServer>
以上。