我被告知expose_php = On
在我的 php.ini 中存在安全问题,因此不符合 PCI 标准。
到目前为止,我对它的研究表明,将其关闭是低风险的,并且基本上会停止在标头中发回 PHP 版本,但是我想知道此更改背后是否可能出现任何问题。
我正在考虑的潜在问题是第三方服务(支付提供商、电子邮件跟踪系统、视频流 API),它们希望您响应一个标头,表明您正在运行一个 PHP 版本,可能超过某个版本?
这应该是一个无缝的变化,还是有可能出现问题?
我被告知expose_php = On
在我的 php.ini 中存在安全问题,因此不符合 PCI 标准。
到目前为止,我对它的研究表明,将其关闭是低风险的,并且基本上会停止在标头中发回 PHP 版本,但是我想知道此更改背后是否可能出现任何问题。
我正在考虑的潜在问题是第三方服务(支付提供商、电子邮件跟踪系统、视频流 API),它们希望您响应一个标头,表明您正在运行一个 PHP 版本,可能超过某个版本?
这应该是一个无缝的变化,还是有可能出现问题?
这是正确的。
设置expose_php = Off
只是防止网络服务器发回X-Powered-By
标头。
虽然可以说潜在的黑客可能会寻找带有安全漏洞的过时版本的 PHP,但即使标头被关闭,他们也可能会这样做。在我看来,这是一件好事,但不要指望它能提供太多保护。
在与第三方服务交互方面,他们不必关心您使用的是哪个版本的 PHP。它们应该能够以与平台无关的格式(例如 JSON、XML 等)提供内容,以便服务可以被任何平台使用,而不仅仅是 PHP。
无论如何,对于他们来说,依赖“消费者”的 PHP 版本是没有用的,因为标头可以很容易地关闭,甚至可能被服务器管理员操纵。
因此,关闭它应该不是问题。
禁用时应该没有负面影响expose_php
。
它所做的只是删除X-Powered-By
标题并阻止 GET 参数返回 PHP 积分和图像。
任何依赖标头的第三方应用程序都是狡猾的。如果需要,您始终可以欺骗标题。
无论如何都没有安全威胁,但暴露过时的 PHP 版本可能会邀请黑客尝试利用过去版本中记录良好的“漏洞”。
关于第三方服务,它们是独立于平台的,不必关心我们使用的是哪个版本的 PHP。如果需要,我们可以简单地设置一个空标题或如下所示。
header('X-Powered-By: Venu');
打开或关闭此选项绝对没有害处。
不过,将其关闭不会为您的网站增加任何安全性。那些脚本小子工具是如此愚蠢,以至于他们从不费心将一个平台与另一个平台区分开来。
更不用说,如果您的网站是基于某些框架/CMS 的,那么隐藏 PHP 的存在是没有用的。