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相关资料
Oct 09 PHP
谈谈PHP语法(4)
Oct 09 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
PHP排序算法类实例
Jun 17 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
PHP随机数 C扩展随机数
May 04 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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
桌面中心(三)修改数据库
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
3种方法轻松处理php开发中emoji表情的问题
2016/07/18 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python正则表达式抓取成语网站
2013/11/20 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
Django中提示消息messages的设置方式
2019/11/15 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python解包概念及实例
2021/02/17 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
酒店服务实习自我鉴定
2013/09/22 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
学生安全责任书
2014/04/15 职场文书
小学生期末评语大全
2014/04/21 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
雷峰塔导游词
2015/02/09 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
雷锋电影观后感
2015/06/10 职场文书
2016年寒假家长评语
2015/10/10 职场文书