拥有公共 phpinfo() 页面的安全风险?

sil*_*npi 11 security php phpinfo apache-2.2

我有一个可公开访问的页面

<?php phpinfo(); >
Run Code Online (Sandbox Code Playgroud)

当我们处于测试阶段时,我将它用于调试目的,但是当它是一个实时站点时让它可访问有什么害处吗?

dun*_*nxd 13

这完全取决于您对 PHP 安装的信心。如果您认为它坚如磐石,即使攻击者知道有关您的 PHP 安装的所有信息,您也可以将其保留在原处。

但说真的,你为什么要把它留在生产系统上呢?在您的 PHP 版本中可能存在您不知道的漏洞利用 - 人们现在或将来可能会扫描您的 PHP 版本或您启用的特定选项,因为他们知道如何执行这些漏洞利用。因此,通过公开保持这一点,您将自己添加到他们的热门列表中。

如果你想保持它,你可以把它放在一个密码保护的目录中,或者在你需要的时候打开它。鉴于这些选项的成本很小,我不会冒险将其公开。

  • 用条件包装函数调用通常可以解决问题 - 即 `&lt;?php if ( $_SERVER['REMOTE_ADDR'] == '1.2.3.4' ) phpinfo(); ?&gt;`(其中 `1.2.3.4` 是您的 IP 地址) (2认同)