59
задан 28 December 2018 в 16:39

1 ответ

Я также хотел изменить свои заголовки, но я должен был скрыться как можно больше. Это - то же для, Добавляют или Удаляют или оба, это - просто заголовки.

1) можно установить MvcHandler.DisableMvcResponseHeader = true; в global.asax

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

and

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

2), Вы не должны действительно использовать различный модуль почти для того же задания, вместо этого создавать HeadersModule, который только обрабатывает модификацию заголовка, и используйте PreSendRequestHeaders, чтобы добавить или удалить любые заголовки, которые Вы хотите. Можно всегда вводить некоторый сервис со списком заголовков, чтобы добавить или удалить.

    public class HeadersModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }

        public void Dispose() {

        }

        void OnPreSendRequestHeaders(object sender, EventArgs e)
        {

            var r = sender as HttpApplication;
            r.Response.Headers.Remove("Server");
            r.Response.Headers.Remove("X-AspNetMvc-Version");
            r.Response.Headers.Remove("X-AspNet-Version");
            r.Response.Headers.Remove("X-Powered-By");
        }
    }

3), Чтобы быть дополнительны уверенный, который некоторые заголовки показывают или "не" разоблачают, можно добавить это к файлу конфигурации

  <system.webServer>
    <modules>
      <add name="HeadersModule " type="MyNamespace.Modules.HeadersModule " />
    </modules>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
        <remove name="Server" />
        <remove name="X-AspNet-Version" />
        <remove name="X-AspNetMvc-Version" />
      </customHeaders>
      <redirectHeaders>
        <clear />
      </redirectHeaders>
    </httpProtocol>
  </system.webServer>

4) Тест все страницы, иначе 404, ошибочные страницы, странные пути, вызвать, они могут пропустить определенные заголовки или показать заголовки, что Вы не ожидали.

1
ответ дан 1 November 2019 в 12:58

Другие вопросы по тегам:

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