PHP中使用addslashes函数转义的安全性原理分析


Posted in PHP onNovember 03, 2014

本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析。分享给大家供大家参考。具体分析如下:

先来看一下ECshop中addslashes_deep的原型

function addslashes_deep($value) {

    if (empty($value)) {

        return $value;  //如为空,直接返回;

    } else {

        return is_array($value) ? array_map('addslashes_deep', $value): addslashes($value);

    }  //递归处理数组,直至遍历所有数组元素;

}

addslashes_deep函数本身没有问题,但使用时得注意一点
恰好今天也是在网上看到了有人发了关于使用这个函数使用的BUG注入漏洞
这个函数在引用回调函数addslashes时,只对数据的值进行转义,所以如果使用者在此过程中引用数组的键进行特定处理时,存在$key注入风险,此时可更改addslashes_deep函数,使其同时对键值进行转义,或者使用时明确不引用键内容。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
用php来检测proxy
Oct 09 PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
Mar 18 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
php递归函数怎么用才有效
Feb 24 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
Swoole实现异步投递task任务案例详解
Apr 02 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 #PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 #PHP
php防止sql注入之过滤分页参数实例
Nov 03 #PHP
详解PHP导入导出CSV文件
Nov 03 #PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 #PHP
php过滤表单提交的html等危险代码
Nov 03 #PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 #PHP
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
用文本文件制作留言板提示(下)
2006/10/09 PHP
php UBB 解析实现代码
2011/11/27 PHP
关于php循环跳出的问题
2013/07/01 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
Angularjs cookie 操作实例详解
2017/09/27 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
Python yield 小结和实例
2014/04/25 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
keras 多任务多loss实例
2020/06/22 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
中文系师范生自荐信
2013/10/01 职场文书
增员口号大全
2014/06/18 职场文书
和谐社区口号
2014/06/19 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
民主生活会意见
2015/06/05 职场文书
运动会开幕式主持词
2015/07/01 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
Python爬虫之爬取某文库文档数据
2021/04/21 Python