我在ubuntu12.04上以Apache 2.4模块运行PHP5.6
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_evalsuhosin.executor.disable_emodifier行的本地和主值,以确保正确读取配置文件,而不仅是为了激活suhosin。

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

如果本地关闭,而主服务器打开,则您的虚拟主机配置可能会覆盖此参数。如果两个都关闭,则说明您的suhosin.ini没有正确解析

您还必须检查suhosin.simulation( Debug模式)是否设置为Off

10-08 13:33