这个问题与安全相关而不是与编程相关,如果它不应该出现在这里,我们深表歉意。
我目前正在开发一个 Web 应用程序,我很好奇为什么大多数网站不介意在 HTTP header 中显示其确切的服务器配置,例如 Apache 和 PHP 的版本,以及完整的“mod_perl、mod_python、.. ."列表等。
从安全的角度来看,我更希望无法查明我是在 Apache 上运行 PHP,在 IIS 上运行 ASP.NET,还是在 Lighttpd 上运行 Rails。
显然“隐匿不是安全”,但我是否应该担心访问者知道我的服务器运行的是什么版本的 Apache 和 PHP?隐藏此信息是好的做法还是完全没有必要?
最佳答案
普遍的智慧是删除服务器 ID 和版本;更好的是,将它们更改为另一个合法的服务器 ID 和版本 - 这样攻击者就可以尝试针对 Apache 或类似软件的 IIS 漏洞。还不如误导攻击者。
但老实说,还有很多其他线索可供引用,我想知道这是否值得。我想它可以阻止攻击者使用搜索引擎查找具有已知漏洞的服务器。
(就个人而言,我不在意我的 HTTP 服务器,但它是用 Java 编写的,并且更不容易受到典型类型的攻击。)
关于security - 在 HTTP header 中隐藏 Web 服务器信息是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339312/