在 PHP 中,expose_php 是一个 PHP 配置选项,用于控制是否在 HTTP 响应头中显示 PHP 版本信息。当 expose_php 的值为 On 时,PHP 版本信息会显示在响应头中,否则不会显示。
expose_php 主要是为了提供给攻击者更多的信息,以便他们利用已知的 PHP 漏洞。因此,建议在生产环境中关闭这个选项,以增加服务器的安全性。
底层原理是在 PHP 的源码中,有一个默认的 HTTP 响应头模板,当 expose_php 值为 On 时,PHP 会将当前 PHP 的版本信息填充到响应头模板中,然后发送给客户端。当 expose_php 值为 Off 时,PHP 不会填充版本信息到响应头模板中。