php5.3.10 php.ini中的disable_functions配置项无效?

fxhover 发布于 2013/05/09 13:27
阅读 1K+
收藏 0
PHP

在php.ini中设置了disable_functions,禁用了eval()函数,重启apache之后测试没有效果,是php的BUG?

请看代码:

header('Content-type:text/html;charset=utf-8');
echo ini_get('disable_functions'), '<br/>', phpversion(), '<br/>';
eval('phpinfo();');
exit;

输出见截图:

加载中
0
南湖船老大
南湖船老大

eval,echo,print等等都不是函数。基础是硬伤啊。

Note: Because this is a language construct and not a function
fxhover
fxhover
怎么可以在php中禁用eval()?
0
斯诺登
斯诺登
我记得phpinfo输出信息里就有被禁止的函数列表,找看看,phpinfo是否在其中
fxhover
fxhover
我在配置文件中禁用了eval()函数,然后还能使用eval()函数,phpinfo()中也看到了disable_functions eval eval这一项。
0
南湖船老大
南湖船老大
eval 不是个函数,请看手册去。
南湖船老大
南湖船老大
回复 @fxhover : 不是函数,当然你disbale是无效的了
fxhover
fxhover
是的,不是一个函数。。。
0
娃娃哇
娃娃哇

在php.ini 是不能禁用eval()

如果你非要禁用的话,你可以安装一个Suhosin软件。

这个软件不仅可以设置禁用eval() 还有需要安全方法措施。

参考:

http://www.hardened-php.net/suhosin/configuration.html#suhosin.executor.disable_eval


fxhover
fxhover
谢谢你的回答,很有帮助,最佳答案只有一个,给他了。
0
南湖船老大
南湖船老大

引用来自“魔术师”的答案

在php.ini 是不能禁用eval()

如果你非要禁用的话,你可以安装一个Suhosin软件。

这个软件不仅可以设置禁用eval() 还有需要安全方法措施。

参考:

http://www.hardened-php.net/suhosin/configuration.html#suhosin.executor.disable_eval


+1
返回顶部
顶部