这个问题与编程相关的安全性更高,对不起,如果它不应该在这里.
我目前正在开发一个Web应用程序,我很好奇为什么大多数网站都不介意在HTTP标头中显示他们确切的服务器配置,比如Apache和PHP的版本,完整的"mod_perl,mod_python,..."列表等等.
从安全的角度来看,我更倾向于无法确定我是在Apache上运行PHP,在IIS上运行ASP.NET还是在Lighttpd上运行Rails.
显然"默默无闻不是安全",但我是否应该担心访问者知道我的服务器运行的是什么版本的Apache和PHP?隐藏这些信息是好的做法还是完全没有必要?
流行的智慧是删除服务器ID和版本; 更好的是,将它们更改为另一个合法的服务器ID和版本 - 这样攻击者就可以尝试针对Apache或其他类似的IIS漏洞.不妨误导攻击者.
但老实说,还有很多其他的线索可供选择,我想知道这是否值得.我想它可以阻止攻击者使用搜索引擎查找具有已知漏洞的服务器.
(就个人而言,我不会在我的HTTP服务器上烦恼,但它是用Java编写的,并且更不容易受到典型攻击的影响.)
我认为你通常会看到这些标题,因为系统默认发送它们.
我经常删除它们,因为它们没有提供真正的价值,并且可以像你建议的那样透露有关服务器的信息.
将信息隐藏在标题中通常只会减慢懒惰和无知的恶棍.指纹系统有很多种方法.