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 和 MYSQL
Oct 09 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
php绘制一个扇形的方法
Jan 24 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP实现的日历功能示例
Sep 01 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
YII2 全局异常处理深入讲解
Mar 24 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 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
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
php字符串截取函数用法分析
2014/11/25 PHP
JavaScript 乱码问题
2009/08/06 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
浅谈Python中copy()方法的使用
2015/05/21 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
Python中format()格式输出全解
2019/04/12 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Django视图扩展类知识点详解
2019/10/25 Python
python dataframe NaN处理方式
2019/12/26 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
python else语句在循环中的运用详解
2020/07/06 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
煤矿班组长竞聘书
2014/03/31 职场文书
目标责任书范本
2014/04/16 职场文书
安全宣传标语口号
2014/06/06 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
白酒营销策划方案
2014/08/17 职场文书
会计试用期自我评价
2014/09/19 职场文书
学者《孟子》名人名言
2019/08/09 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
js判断两个数组相等的5种方法
2022/05/06 Javascript