Почему это дает мне 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