1

我将最后两行添加到 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 给我的信息,让我想要添加:

您输入的地址不必要地暴露了以下响应标头,这些标头泄露了其对 Web 平台的选择: 服务器: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 - 内部服务器错误 无法访问请求的页面,因为该页面的相关配置数据无效。

4

1 回答 1

1

IIRC 由于 enableVersionHeader (它不是版本标头),“X-Powered-By”标头没有被遗漏。

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

于 2013-06-21T05:42:02.567 回答