默认情况下,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);
}

段邵华
14 声望1 粉丝