Apache-2.2

如何禁止在其中使用 disable_functions?

  • July 2, 2012

我顯然不是第一個遇到這個問題的人,但我找不到這種情況的答案。

我想鎖定 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 是不可能的,那麼至少什麼是正確的配置來禁止虛擬主機所有者有效地使用任何 php.ini,但虛擬主機主要的(/home/myvhost/etc/php5/php.ini)除外?

謝謝

  1. .htaccess僅在使用時覆蓋 PHP mod_php,這樣做需要Options覆蓋權限。在所有其他情況下,您不能直接覆蓋 htaccess 文件中的 ini 選項,但FileInfo您可以覆蓋預設的 FCGI 處理程序以指向備用 fcgi 處理程序,並帶有一個標誌來告訴 php 使用備用 .ini 文件。
  2. 我不相信這是可能的。
  3. 不允許虛擬主機覆蓋 FileInfo。

FileInfo 允許 htaccess 文件覆蓋AddHandler,SetHandlerActionCGI​​ 以及FcgidWrappermod_fcgid。

引用自:https://serverfault.com/questions/403600