【问题标题】:Can I remove unwanted http headers Server, X-AspNet-Version and X-AspNetMvc-Version using global.asax?我可以使用 global.asax 删除不需要的 http 标头 Server、X-AspNet-Version 和 X-AspNetMvc-Version 吗?
【发布时间】:2019-10-26 20:34:20
【问题描述】:

我使用了如下所示的以​​下代码。 这会删除标题,但这是正确的方法吗?我应该像许多帖子建议的那样采用另一种方法吗?

我已添加此代码并删除了不需要的标头,但我是处理这些标头的新手。想知道是不是这样做的。

    protected void Application_PreSendRequestHeaders()
    {
        Response.Headers.Remove("Server");
        Response.Headers.Remove("X-AspNet-Version");
        Response.Headers.Remove("X-AspNetMvc-Version");
    }

-

【问题讨论】:

  • 您的方法确实没有问题...使用任何有效的方法。您可以在此处、在 Web 配置中或通过 IIS 设置执行此操作。没什么大不了的。将其嵌入 Web 配置或代码的优势在于,当您部署到不同的环境时,该设置会随应用程序一起传播。或者,通过 IIS 设置执行此操作的一个优点是它适用于部署到该网站的所有应用程序。看你的需求

标签: asp.net-mvc global-asax


【解决方案1】:

您的方法没有任何问题,除非您在运行时执行此操作,因为这也可以通过以下方式处理。

将此添加到 web.config 以摆脱 X-AspNet-Version 标头:

<system.web>
  <httpRuntime enableVersionHeader="false" />
</system.web>

要删除 X-AspNetMvc-Version 在 Global.asax.cs 上的 Application_Start 事件中添加以下内容

protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多