Почему это дает мне YSOD?

Я добавил последние две строки в файл Web.config в ответ на помахивание пальцами из отчета asafaweb ( https://asafaweb.com/) на моем сайте:

  <system.web>
    <compilation debug="false" targetFramework="4.0" />
    <httpRuntime targetFramework="4.0" />
    <httpRuntime enableVersionHeader="false" />
    <customErrors mode="RemoteOnly" defaultRedirect="~/BooBoo" />
  </system.web>

... но пришлось закомментировать "enableVersionHeader" из-за YSOD.

Это информация, которую asafaweb дал мне, что заставило меня захотеть сделать это дополнение:

Введенный вами адрес неоправданно отображает следующие заголовки ответа, которые раскрывают его выбор веб-платформы: Сервер: Microsoft-IIS/7.5 X-Powered-By: ASP.NET X-AspNet-Version: 4.0.30319 Настройка приложения, чтобы оно не возвращалось ненужные заголовки хранят эту информацию в тайне и значительно затрудняют идентификацию базовых структур.

Затем я объединил две строки "httpRuntime" в одну:

<httpRuntime targetFramework="4.0" enableVersionHeader="false" />

... но asafaweb все еще дает мне то же самое предупреждение. Так в чем проблема?

ОБНОВИТЬ

Основываясь на ссылке в комментарии, я добавил это:

... в Web.config, но потом я получил этот YSOD:

Ошибка HTTP 500.19 - внутренняя ошибка сервера. Запрашиваемая страница недоступна, поскольку соответствующие данные конфигурации для этой страницы недействительны.

1 ответ

Решение

IIRC заголовок "X-Powered-By" не пропущен из-за enableVersionHeader (это не заголовок версии).

Взгляните на это обсуждение: Как удалить заголовки ответа IIS/ASP.NET

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