2024年3月13日发(作者:)

php如何禁用eval函数呢

php的eval函数并不是系统组件函数,因此我们在中使用

disable_functions是无法禁止它的。我们为大家收集整理了关于php如何禁用

eval函数,以方便大家参考。

 php eval() 函数操作数组:

 $data

“array('key1'=>;'value1','key2'=>;'value2

','key3'=>;'value3','key4'=>;'value4

')”;

 $arr = eval(“return $data;”);

 var_dump($arr); //array

 ?>;

 运行结果:

 array(4) { [“key1”]=>; string(6) “value1” [“key2”]=>; string(6) “value2”

[“key3”]=>; string(6) “value3” [“key4”]=>; string(6) “value4” }

 网上很多说使用disable_functions禁止掉eval的方法都是错误的!

 其实eval()是无法用中的disable_functions禁止掉的 :

 because eval() is a language construct and not a function

 eval是zend的,因此不是PHP_FUNCTION 函数;

 那幺php怎幺禁止eval呢?

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

 安装Suhosin后在中load进来,再加上

=