乐趣区

在HTTP响应头中隐藏ASPNET-MVC的版本

默认情况下,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);
}
退出移动版