php5.x禁用eval的操作方法


Posted in PHP onOctober 19, 2018

这次我们来说如何禁止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 perl
cd /usr/local/src
wget http://download.suhosin.org/suhosin-对应的版本.tgz
tar zxvf suhosin-对应的版本.tgz
cd suhosin-对应的版本
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make & make install

编译完后会提示你库文件的位置,例如: /usr/lib64/php/modules

我们只需要在php.ini中增加对应的扩展即可:

extension=/usr/lib64/php/modules/suhosin.so
suhosin.executor.disable_eval=On

重启php-fpm进程后,就可以在phpinfo中看到suhosin扩展已经装好了~

仔细看增加的配置项,其实很多控制的点,得慢慢研究啊~

总结

以上所述是小编给大家介绍的php5.x禁用eval的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
PHP基于CURL进行POST数据上传实例
Nov 10 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
php实现网页端验证码功能
Jul 11 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
django中的ajax组件教程详解
Oct 18 #PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 #PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 #PHP
php 读取文件夹下所有图片、文件的实例
Oct 17 #PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 #PHP
实现PHP中session存储及删除变量
Oct 15 #PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 #PHP
You might like
根德YB400的电路分析
2021/03/02 无线电
非常好的php目录导航文件代码
2006/10/09 PHP
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
利用Python获取操作系统信息实例
2016/09/02 Python
打包发布Python模块的方法详解
2016/09/18 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Django实现celery定时任务过程解析
2020/04/21 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
遗愿清单观后感
2015/06/09 职场文书
学生病假条怎么写
2015/08/17 职场文书
卖车协议书范文
2016/03/23 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
OpenCV实现反阈值二值化
2021/11/17 Java/Android
详解SQL的窗口函数
2022/04/21 Oracle
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js