2017-10-20 94 views
2

我已经在我的服务器成功安装了Suhosin和我对一些virtualhosts此配置阻止恶魔PHP eval功能:禁用PHP EVAL在虚拟主机的每个位置

<VirtualHost 123.123.123.123:80> 
    <Directory /var/www/html/www.example.com> 
     #SUHOSIN 
     php_admin_value suhosin.executor.disable_eval On 
    </Directory> 
</VirtualHost> 

不过,我需要上启用EVAL一些特定的URL,因为它在某些特定情况下被平台使用。我已经试过如下:

<VirtualHost 123.123.123.123:80> 
    <Directory /var/www/html/www.example.com> 
     # SUHOSIN 
     php_admin_value suhosin.executor.disable_eval On 
    </Directory> 
    <Location "/some/path"> 
     # Reenable eval for this path 
     php_admin_value suhosin.executor.disable_eval Off 
    </Location> 
</VirtualHost> 

而且还与标签LocationMatch,没有成功(这是一样,如果它是不存在:完全没有影响)。

任何想法如何让这条指令只为特定路径工作?

感谢

回答

-1

我没有使用了Suhosin,我解决了每个网站不同的php.ini文件。 类似于:

<VirtualHost 123.123.123.123:80> 
[...] 
PHPINIDir /path/to/specificinifile 
[...] 
</VirtualHost> 

希望这会有所帮助。

+0

感谢您的回答。也许不是最干净的,因为php.ini文件有很多配置,并且可能难以维护,但我会在后面尝试。希望它有帮助,谢谢! – Azurlake

+0

Aaah。我很抱歉,但这不起作用。在LocationMatch标签之间不允许使用PHPINIDir:( – Azurlake