默认情况下,ASP.NET MVC 网站会在 HTTP 响应头(Response Header)中添加目前使用的 ASP.NET MVC 版本号。如果使用开发者工具查看连接到 ASP.NET MVC 网站的 HTTP 请求响应,即可在 Response Header 中看到一个“X-AspNetMvc-Version”的 HTTP 响应头,会暴漏目前使用的 ASP.NET MVC 的版本。
基于安全考虑,有时希望隐藏 ASP.NET MVC 的版本号,可在 Global.asax 文件的 Application_Start() 方法中添加以下代码即可隐藏 HTTP 响应头中的版本编号。
/// <summary>
/// 在应用程序初始化的时候执行。/// </summary>
protected void Application_Start()
{
// 隐藏 ASP.NET MVC 的版本信息,使其不在 HTTP Header 中显示。MvcHandler.DisableMvcResponseHeader = true;
// 注册 ASP.NET MVC 应用程序中的所有区域。AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
// 注册 ASP.NET MVC 全局过滤器集合。FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
// 注册配置 MVC 应用程序的系统路由路径。RouteConfig.RegisterRoutes(RouteTable.Routes);
// 注册所使用的捆绑的 CSS 和 JS 文件
BundleConfig.RegisterBundles(BundleTable.Bundles);
}