为什么suhosin.executor.disable_emodifier不起作用?

时间:2015-03-11 15:12:33

标签: php security suhosin php-5.6

我在ubuntu12.04上运行PHP5.6作为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?

1 个答案:

答案 0 :(得分:1)

您必须在phpinfo()中检查行suhosin.executor.disable_evalsuhosin.executor.disable_emodifier中的本地值和主值,以确保正确读取配置文件,而不仅仅是激活suhosin。

这些指令的本地值应设置为' On'。

如果本地为“关”但主节点为“开”,则虚拟主机配置可能会覆盖此参数。如果两者都关闭,那么你的suhosin.ini没有被正确解析

您还必须知道suhosin.simulation(调试模式)设置为Off