为什么不能通过IIS7中的web.config删除"服务器"响应标头?

Dav*_*och 16 asp.net iis-7 response-headers

删除服务器响应标头IIS7

我知道如何Server根据上面的链接删除HTTP模块的响应头.

我只是想知道为什么有必要以这种方式删除它.

Not*_*tMe 6

Aristos链接中的评论为Why提供了良好的答案.

归结为MS不想轻易让人们修改这个值.无论是出于营销还是其他目的,都可以进行解释.

从讨论中拿走的一件事是修改服务器头对任何安全性都没有用.有许多方法可以准确地检测出正在运行的Web服务器软件的类型(和版本).

这让我们只有一个理由:保存字节.除非你正在运行一个极高的流量站点,否则这不是一个问题.如果您正在运行高流量站点,那么您很可能已经在运行一个或多个自定义模块.

  • 我开发移动网站,我同意安全性论点,它确实不是安全性,而是认为为节省空间而删除它对于带宽被不必要的数据占用的客户来说是相关的.让我们成为网络世界的好公民,尊重我们的用户和我们赖以生存的基础设施. (3认同)
  • 虽然删除它几乎肯定属于“安全剧院”而不是“实际安全”类别,但渗透测试通常需要像这样的无关标头来标识要删除的系统配置。 (2认同)

C. *_*ijk 6

以下事情对我有用:

在 IIS 10.0 (Windows Server 2016/2019) 中,您可以通过在 web.config system.webServer 节点中配置 requestFiltering 来删除服务器标头:

<security>
  <requestFiltering removeServerHeader ="true" />
</security>
Run Code Online (Sandbox Code Playgroud)

这样您就不必摆弄复杂的出站重写规则。

要删除 ASP.NET 的 X-Powered-By 标头,您仍然需要如上所述的 customHeaders 部分。

来源:https : //www.saotn.org/remove-iis-server-version-http-response-header/