为什么 suhosin.executor.disable_emodifier 不起作用?
Why doesn't suhosin.executor.disable_emodifier work?
我 运行 PHP5.6 在 ubuntu12.04 上作为 apache 2.4 模块
Suhosin 是从源安装的
Suhosin 已启用,我可以在 phpinfo() 函数输出中看到它。
我在 suhosin.ini:
中有这些行
suhosin.executor.disable_eval = On
suhosin.executor.disable_emodifier = On
而且我还可以在 phpinfo() 中看到它们已启用。全球和本地。
但出于某种原因很简单
eval('echo 5;');
只给我看了该死的“5”!!!
同样如此
preg_replace("/.*/e", "eval('echo 5, PHP_EOL;')", ".");
如何启用那个 suhosin?
您必须检查 phpinfo()
中 suhosin.executor.disable_eval
和 suhosin.executor.disable_emodifier
行的本地值和主值,以确保正确读取配置文件,而不是仅用于suhosin的激活。
这些指令的本地值应设置为 'On'。
如果本地关闭但主机打开,那么您的虚拟主机配置可能会覆盖此参数。如果两者都关闭,那么你 suhosin.ini 没有被正确解析
您还必须检查 suhosin.simulation
(调试模式)设置为 Off
。
我 运行 PHP5.6 在 ubuntu12.04 上作为 apache 2.4 模块 Suhosin 是从源安装的
Suhosin 已启用,我可以在 phpinfo() 函数输出中看到它。 我在 suhosin.ini:
中有这些行suhosin.executor.disable_eval = On
suhosin.executor.disable_emodifier = On
而且我还可以在 phpinfo() 中看到它们已启用。全球和本地。
但出于某种原因很简单
eval('echo 5;');
只给我看了该死的“5”!!!
同样如此
preg_replace("/.*/e", "eval('echo 5, PHP_EOL;')", ".");
如何启用那个 suhosin?
您必须检查 phpinfo()
中 suhosin.executor.disable_eval
和 suhosin.executor.disable_emodifier
行的本地值和主值,以确保正确读取配置文件,而不是仅用于suhosin的激活。
这些指令的本地值应设置为 'On'。
如果本地关闭但主机打开,那么您的虚拟主机配置可能会覆盖此参数。如果两者都关闭,那么你 suhosin.ini 没有被正确解析
您还必须检查 suhosin.simulation
(调试模式)设置为 Off
。