在php.ini中关闭expose_php

crm*_*cco 33 php pci-compliance

我被告知,expose_php = On在我的php.ini中存在安全问题,因此不符合PCI标准.

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

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

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

F21*_*F21 55

那是对的.

设置expose_php = Off只是阻止Web服务器发回X-Powered-By标头.

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

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

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

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


ale*_*lex 7

禁用时应该没有负面的副作用expose_php.

它所做的只是删除X-Powered-By标题并停止GET参数返回PHP信用和图像.

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


小智 5

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

关于第三方服务,它们是独立于平台的,不必关心我们使用的是哪个版本的 PHP。如果需要,我们可以简单地设置一个空标题或如下所示。

header('X-Powered-By: Venu');
Run Code Online (Sandbox Code Playgroud)

  • 或者使用 [`header_remove('X-Powered-By')`](http://www.php.net/header_remove) 将其完全删除。 (2认同)