Как удалить заголовки HTTP ASP.Net MVC по умолчанию?

Каждая страница в приложении MVC, с которым я работаю, устанавливает следующие HTTP-заголовки в ответах:

X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0

Как я могу предотвратить их показ?

171
задан Paul Fryer 25 May 2012 в 21:47
поделиться

1 ответ

X-Powered-By - это пользовательский заголовок в IIS. Начиная с IIS 7, вы можете удалить его, добавив следующее в web.config:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="X-Powered-By" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Этот заголовок также может быть изменен под ваши нужды, для получения дополнительной информации обратитесь к http://www.iis.net/ConfigReference/system.webServer/httpProtocol/customHeaders


Добавьте это в 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;
}

Вы также можете изменять заголовки во время выполнения через событие Application_PreSendRequestHeaders в Global.asax.cs. Это полезно, если значения ваших заголовков динамичны:

protected void Application_PreSendRequestHeaders(object source, EventArgs e)
{
      Response.Headers.Remove("foo");
      Response.Headers.Add("bar", "quux");
}
269
ответ дан 23 November 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: