Suhosin并禁用eval功能
问题描述:
我在我专用的CentOS服务器上安装了Suhosin。 centos6.7+php5.4.41+suhosin0.9.36
Suhosin并禁用eval功能
我想启用Suhosin的禁用eval函数。 我通过文件,并从我的理解去了,最好的情况是,在php.ini中添加此:
[suhosin]
suhosin.executor.eval.blacklist= phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown
,但它不会阻止执行phpinfo()函数,<?php eval(phpinfo());?>
EVAL。
真的希望有人能指出我的错误。
答
您的示例执行phpinfo(),然后尝试评估输出。鉴于您的配置下面的例子将被封锁了Suhosin:
eval("phpinfo();");
请考虑使用白名单,而不是黑名单,如果适用。从安全角度来看,最好允许有限的一组功能,而不是猜测所有不好的功能。
另请注意,该eval本身不是一个函数,不能被disable_functions和朋友阻止。 Suhosin为此提供了suhosin.executor.disable_eval
。
答
打开php.ini
文件并查找disable_functions
。写/登记你想禁用的功能。例如:disable_functions=passthru,exec,system,popen,eval
+0
我想禁用eval函数,不要禁用函数 – jf2000
非常感谢! – jf2000