当远程请求发送到你的 Apache Web 服务器时,在默认情况下,一些有价值的信息,如 web 服务器版本号、服务器操作系统详细信息、已安装的 Apache 模块等等,会随服务器生成的文档发回客户端。PHP 配置默认允许服务器在 HTTP 响应头 X-Powered-By 中显示安装在服务器上的 PHP 版本。
出于服务器安全原因(虽然不是主要的要担心的威胁),建议你禁用或隐藏此类信息,避免那些针对你的服务器的攻击者知道你是否运行了 PHP,假设你服务器上安装的特定版本的 PHP 具有安全漏洞,而攻击者了解到这一点,他们将更容易利用漏洞并通过脚本访问服务器。

访问不存在页面 404报错也显示服务器信息

隐藏Apache web 服务器版本号及其他信息
打开 Apache 配置文件httpd.conf,添加/修改下面的代码,保存后重启Apache服务
ServerTokens Prod
ServerSignature Off
关闭服务器 HTTP 响应头中的 PHP 版本号
打开php配置文件php.ini,将expose_php的值设置为Off expose_php = Off
,保存后重启Apache服务
修改后影响
修改后影响PHP获取服务器变量 $_SERVER[‘SERVER_SOFTWARE’],值由Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.9变为Apache
