当前位置:首页 > 编程教程 > php技术文章 > php 如何禁用eval() 函数实例详解

php中eval函数禁用方法

  • 发布时间:
  • 作者:码农之家
  • 点击:93

这篇文章主要知识点是关于php、eval、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP基础教程
  • 类型:PHP教程大小:25.3 MB格式:PDF作者:厄尔曼 著,贾菡
立即下载

Tags:PHP eval 

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

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即可

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

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

PHP 相关电子书
学习笔记
网友NO.187603

php5.x禁用eval的操作方法

这次我们来说如何禁止php代码中执行eval函数,本来以为直接修改php.ini中的disable_function即可~ 但现实往往并不是那么如意,查了一下GG,发现原来eval并非函数,而是php底层提供的一种特性。 幸好有前辈提供了php扩展来禁用万恶的eval: suhosin 一开始发现是需要给php打补丁,我是拒绝的,但确实没有找到更好的方法。不过实际安装下来,真的很方便: yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perlcd /usr/local/srcwget http://download.suhosin.org/suhosin-对应的版本.tgztar zxvf suhosin-对应的版本.tgzcd suhosin-对应的版本/usr/bin/phpize./configure --with-php-config=/usr/bin/php-configmake & make install 编译完后会提示你库文件的位置,例如: /usr/lib64/php/modules 我们只需要在php.ini中增加对应的扩展即可: extension=/usr/lib64/php/modules/suhosin.sosuhosin.executor.disable_eval=On 重……

<
1
>

电子书 编程教程 PC软件下载 安卓软件下载

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757