Каждая страница в приложении MVC, с которым я работаю, устанавливает следующие HTTP-заголовки в ответах:
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0
Как я могу предотвратить их показ?
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");
}