'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')"; $arr = eval("return $data;"); var_dump($a" />

广州葆元健康生物科技有限公司


php 如何禁用eval() 函数实例详解

网络编程 php 如何禁用eval() 函数实例详解 06-22

php eval() 函数操作数组:

<?php
$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()是无法用php.ini中的disable_functions禁止掉的 :

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

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

那么php怎么禁止eval呢?

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

安装Suhosin后在php.ini中load进来Suhosin.so,再加上suhosin.executor.disable_eval = on即可

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

php中static 静态变量和普通变量的区别
php中static静态变量和普通变量的区别在变量的前面加上static就构成了静态变量(static变量)。static变量和普通变量的区别在于非静态全局变量的作用域

thinkPHP线上自动加载异常与修复方法实例分析
本文实例讲述了thinkPHP线上自动加载异常与修复方法。分享给大家供大家参考,具体如下:项目遇到一个奇怪的问题,本地代码正常,服务器上却不正常

PHP 芝麻信用接入的注意事项
芝麻官方下载的SDK,跑不起来,百度搜索一番也没有发现太多的文章,只有一个CSDN博客写的一篇文章,比较有参考价值详细查阅文档+几天测试整理以下


编辑:广州葆元健康生物科技有限公司

标签:变量,静态,线上,区别,方法