为什么这会给我一个YSOD?

时间:2013-06-21 04:56:18

标签: asp.net web-config httpruntime

我向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>

...但由于YSOD,必须将“enableVersionHeader”注释掉。

这是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 个答案:

答案 0 :(得分:1)

IIRC由于enableVersionHeader(它不是版本标题),因此不会遗漏“X-Powered-By”标题。

看一下这个讨论:How to remove IIS/ASP.NET Response Headers