php禁用eval,php无法禁用eval,disable_functions无效

先说结果:

php中设置disable_functions,无法禁用eval

因为eval是语言构造器,不是函数

<?php
$a = 'phpinfo';
$a();            //这是可以运行的
$code = 'echo time();';
$a = 'eval';
eval($code);    //这是可以运行的
$a($code);        //Call to undefined function eval()   函数不存在


/*    下面代码也会报错    */                
function eval(){

}

  也就是说,在不使用扩展的前提下,eval无法被禁用,但也无法通过拼接或其他方式隐藏这个函数.

  要找到eval的木马,只需要全文搜素 'eval'即可

那应该怎么禁用eval呢?

如果想禁掉eval可以用php的扩展 Suhosin

不用扩展,没办法禁用

猜你喜欢

转载自www.cnblogs.com/echo2213/p/12367362.html