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 相关文章推荐
我的论坛源代码(四)
Oct 09 PHP
PHP常用函数小技巧
Sep 11 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
PHP7修改的函数
Mar 09 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(视频)Http下载
2006/12/12 PHP
php桌面中心(一) 创建数据库
2007/03/11 PHP
php牛逼的面试题分享
2013/01/18 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
php表单处理操作
2017/11/16 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
不可错过的十本Python好书
2017/07/06 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
工作会议方案
2014/05/21 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
nginx配置指令之server_name的具体使用
2022/08/14 Servers