MVC页面移除HTTP Header中服务器信息
2018-06-22 06:15:45来源:未知 阅读 ()
默认情况下,每一个MVC请求的HTTP Header中都会包含着当前服务器的一些信息,出于安全还是性能还是处女座的强迫症等等,都想把这些信息移除掉,增加一些应用程序的神秘感,如下,默认情况下Chrome中截获的HTTP Header信息:
Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 Content-Type:text/html; charset=utf-8 Date:Sun, 08 Oct 2017 05:01:37 GMT Server:Microsoft-IIS/10.0 Vary:Accept-Encoding X-AspNet-Version:4.0.30319 X-AspNetMvc-Version:5.2 X-Powered-By:ASP.NET X-SourceFiles:=?UTF-8?B?RTpcV29ya1xUaWFuTG9uZ1xMUS5NVkNBZG1pblxNYW5hZ2VyXEVxdWlwbWVudHM=?=
接下来,一步一步的移除其中的一些信息,本文环境为.NET Framework 4.5、MVC 5、IIS 10,测试有效。
移除X-AspNetMvc-Version
在Global.asax.cs中添加如下代码:
protected void Application_Start() { //屏蔽浏览器中的ASP.NET版本 MvcHandler.DisableMvcResponseHeader = true; AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
效果如下:
Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 Content-Type:text/html; charset=utf-8 Date:Sun, 08 Oct 2017 05:03:57 GMT Server:Microsoft-IIS/10.0 Vary:Accept-Encoding X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET X-SourceFiles:=?UTF-8?B?RTpcV29ya1xUaWFuTG9uZ1xMUS5NVkNBZG1pblxNYW5hZ2VyXEVxdWlwbWVudHM=?=
移除X-AspNet-Version
在config中添加如下代码:
<system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" enableVersionHeader="false"/> </system.web>
效果如下:
Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 Content-Type:text/html; charset=utf-8 Date:Sun, 08 Oct 2017 03:46:23 GMT
Vary:Accept-Encoding Server:Microsoft-IIS/10.0 X-Powered-By:ASP.NET X-SourceFiles:=?UTF-8?B?RTpcV29ya1xUaWFuTG9uZ1xMUS5NVkNBZG1pblxNYW5hZ2VyXEVxdWlwbWVudHM=?=
移除Server
既可以移除同时也可以修改Server信息,也可以实现上面两个信息的移除,在Global.asax.cs文件中添加如下代码
protected void Application_PreSendRequestHeaders(object sender, EventArgs e) { HttpApplication app = sender as HttpApplication; if (app != null && app.Context != null) { //移除Server app.Context.Response.Headers.Remove("Server");
//修改Server的值 //app.Context.Response.Headers.Set("Server", "MyPreciousServer"); //移除X-AspNet-Version,和上面效果一样 app.Context.Response.Headers.Remove("X-AspNet-Version"); //移除X-AspNetMvc-Version,和上面效果一样 app.Context.Response.Headers.Remove("X-AspNetMvc-Version"); } }
效果如下:
Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 Content-Type:text/html; charset=utf-8 Date:Sun, 08 Oct 2017 05:25:00 GMT Vary:Accept-Encoding X-Powered-By:ASP.NET X-SourceFiles:=?UTF-8?B?RTpcV29ya1xUaWFuTG9uZ1xMUS5NVkNBZG1pblxNYW5hZ2VyXEVxdWlwbWVudHM=?=
移除X-Powered-By
在webconfig中添加配置项:
<system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol> </system.webServer>
移除效果如下:
Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 Content-Type:text/html; charset=utf-8 Date:Sun, 08 Oct 2017 05:29:05 GMT Vary:Accept-Encoding
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- ASP.NET MVC Admin主页快速构建 2020-03-23
- Asp.Net MVC4通过id更新表单内容的思路详解 2020-03-19
- Asp.NET页面中事件加载的先后顺序详解 2020-03-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash