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脚本的10个技巧(2)
Oct 09 PHP
php,ajax实现分页
Mar 27 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
Nov 07 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
php中 $$str 中 "$$" 的详解
Jul 06 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
YII框架页面缓存操作示例
Apr 29 PHP
laravel执行php artisan migrate报错的解决方法
Oct 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python局部赋值的规则
2013/03/07 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Django发送邮件功能实例详解
2019/09/02 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
python3 字符串知识点学习笔记
2020/02/08 Python
在python中求分布函数相关的包实例
2020/04/15 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
结婚典礼证婚词
2014/01/11 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
2015年女工委工作总结
2015/07/27 职场文书
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang