禁用PHP EVAL在虚拟主机的每个位置
问题描述:
我已经在我的服务器成功安装了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
,没有成功(这是一样,如果它是不存在:完全没有影响)。
任何想法如何让这条指令只为特定路径工作?
感谢
答
我没有使用了Suhosin,我解决了每个网站不同的php.ini文件。 类似于:
<VirtualHost 123.123.123.123:80>
[...]
PHPINIDir /path/to/specificinifile
[...]
</VirtualHost>
希望这会有所帮助。
感谢您的回答。也许不是最干净的,因为php.ini文件有很多配置,并且可能难以维护,但我会在后面尝试。希望它有帮助,谢谢! – Azurlake
Aaah。我很抱歉,但这不起作用。在LocationMatch标签之间不允许使用PHPINIDir:( – Azurlake