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 daodb插入、更新与删除数据
Mar 19 PHP
C# Assembly类访问程序集信息
Jun 13 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
PHP 第三节 变量介绍
Apr 28 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
PHP实现git部署的方法教程
Dec 19 PHP
php实现微信发红包功能
Jul 13 PHP
调试php程序的简单步骤
Oct 04 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php中smarty区域循环的方法
2015/06/11 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
javascript常用对话框小集
2013/09/13 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
javascript 中的try catch应用总结
2017/04/01 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python求pi的方法
2014/10/08 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
django框架模板语言使用方法详解
2019/07/18 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
致400米运动员广播稿
2014/02/07 职场文书
目标责任书范本
2014/04/16 职场文书
工会工作个人总结
2015/03/03 职场文书
文书工作总结(范文)
2019/07/11 职场文书
python套接字socket通信
2022/04/01 Python