在php.ini中关闭expose_php

时间:2012-03-08 12:19:52

标签: php pci-compliance

我被告知我的php.ini中有expose_php = On是一个安全问题,因此不符合PCI标准。

到目前为止,我对它的研究表明,关闭它是低风险,并且基本上会停止在标题中发回PHP版本,但是我想知道是否有可能在此更改后面出现任何问题

我想到的潜在问题是第三方服务(支付提供商,电子邮件跟踪系统,视频流API),它们希望您使用标头来响应,表明您运行的是某个版本的PHP,可能超过某个版本?< / p>

这应该是无缝变化还是有可能出现问题?

4 个答案:

答案 0 :(得分:52)

这是正确的。

设置expose_php = Off只会阻止网络服务器发回X-Powered-By标题。

虽然可以说潜在的黑客可能会寻找具有安全漏洞的过时版本的PHP,但即使标题被关闭,他们也可能会这样做。在我看来,这是一件好事,但不要指望它能提供很多保护。

在与第三方服务交互方面,他们不应该关心您使用的是哪个版本的PHP。他们应该能够以平台无关的格式(如JSON,XML等)提供内容,这样服务就可以被任何平台使用,而不仅仅是PHP。

在任何情况下,他们依赖“消费者”的PHP版本是没用的,因为标题可以很容易地关闭,甚至可能被服务器管理员操纵。

因此,关闭它应该不是问题。

答案 1 :(得分:7)

禁用expose_php时,不应有任何负面影响。

它只是移除X-Powered-By标题并停止GET参数返回PHP信用和图像。

依赖标头的任何第三方应用程序都是狡猾的。如果需要,您可以随时欺骗标题。

答案 2 :(得分:3)

打开或关闭此选项绝对没有任何害处。

关闭它不会为您的网站添加任何安全性。 那些脚本小子工具是如此愚蠢,以至于他们从不费心去告诉另一个平台。

更不用说如果您的网站是基于框架/ CMS的,那么隐藏PHP存在无用。

答案 3 :(得分:3)

没有任何安全威胁,但暴露过时版本的PHP可能会邀请黑客尝试利用记录良好的漏洞。在过去的版本中。

关于第三方服务,它们是独立于平台的,不应该关心我们使用的是哪个版本的PHP。如果需要,我们可以在下面设置一个空标题。

header('X-Powered-By: Venu');