先说结果:
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
不用扩展,没办法禁用