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 a simple smtp class
Nov 26 PHP
joomla jce editor 解决上传中文名文件失败问题
Jun 09 PHP
Yii配置文件用法详解
Dec 04 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
深入理解PHP中的count函数
May 31 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PDO::commit讲解
Jan 27 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 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
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php7 新增功能实例总结
2020/05/25 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
jQuery事件用法详解
2016/10/06 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
地震捐款倡议书
2014/08/29 职场文书
教师考核评语大全
2014/12/31 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
小学数学教学反思范文
2016/02/16 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技