如何禁止使用 disable_functions?

如何禁止使用 disable_functions?

显然我不是第一个遇到这个问题的人,但我无法找到解决这种情况的答案。

我想稍微锁定一下 PHP,更具体地说是使用 disable_functions。环境是 CentOS 6.2/PHP 5.3.3 fcgid/Apache 2.2.15:

  1. 什么是正确的 apache 配置(AllowOverride 等)禁止通过 .htaccess 更改任何 PHP 设置? 所有其他覆盖均正常(当前设置为 AllowOverride All)

  2. 什么是正确的配置禁止在除主 php.ini 之外的所有文件中有效使用 disable_functions(如禁止在 /home/myvhost/etc/php5/php.ini 或该 vhost public_html 中的任何目录中使用 disable_functions。换句话说:唯一有效的 disable_functions 来自主 php.ini)?

  3. 如果 #2 不可行,至少正确的配置是什么禁止 vhost 所有者有效使用除 vhost 主 php.ini 之外的任何 php.ini(/home/myvhost/etc/php5/php.ini)?

谢谢

答案1

  1. .htaccess仅在mod_php使用时覆盖 PHP,并且这样做需要Options覆盖权限。所有其他情况下,您无法直接从 htaccess 文件中覆盖 ini 选项,但FileInfo您可以覆盖默认的 FCGI 处理程序以指向备用 fcgi 处理程序,并使用标志告诉 php 使用备用 .ini 文件。

  2. 我不相信这是可能的。

  3. 不允许 vhosts 覆盖 FileInfo。

FileInfo 允许 htaccess 文件覆盖AddHandlerSetHandlerAction适用于 CGI 以及FcgidWrappermod_fcgid。

相关内容