php daddslashes()和 saddslashes()有哪些区别分析


Posted in PHP onOctober 26, 2012

//GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击
$_GET = saddslashes($_GET);
$_POST = saddslashes($_POST);

下面是daddslashes()和 saddslashes()的例子eg: saddslashes function daddslashes($string, $force = 0, $strip = FALSE) { 
//字符串或数组 是否强制 是否去除 
//如果魔术引用未开启 或 $force不为0 
if(!MAGIC_QUOTES_GPC || $force) { 
if(is_array($string)) { //如果其为一个数组则循环执行此函数 
foreach($string as $key => $val) { 
$string[$key] = daddslashes($val, $force); 
} 
} else { 
//如果魔术引用开启或$force为0 
//下面是一个三元操作符,如果$strip为true则执行stripslashes去掉反斜线字符,再执行addslashes 
//$strip为true的,也就是先去掉反斜线字符再进行转义的为$_GET,$_POST,$_COOKIE和$_REQUEST $_REQUEST数组包含了前三个数组的值 
//这里为什么要将$string先去掉反斜线再进行转义呢,因为有的时候$string有可能有两个反斜线,stripslashes是将多余的反斜线过滤掉 
$string = addslashes($strip ? stripslashes($string) : $string); 
} 
} 
return $string; 
}eg: saddslashes function saddslashes($string) { if(!MAGIC_QUOTES_GPC){ 
if(is_array($string)) { //如果转义的是数组则对数组中的value进行递归转义 


foreach($string as $key => $val) { 



$string[$key] = saddslashes($val); 



} 
} else { 


$string = addslashes($string); //对单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符),进行转义 
} 
return $string; 
}else{ 
return $string; 
}

主要就是:
saddslashes可以实现对每一个数据进行转义处理了
function saddslashes($string) { 
if(is_array($string)) { 
foreach($string as $key => $val) { 
$string[$key] = saddslashes($val); 
} 
} else { 
$string = addslashes($string); 
} 
return $string; 
}
PHP 相关文章推荐
php预定义常量
Dec 25 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
php7安装yar扩展的方法详解
Aug 03 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
解析laravel使用workerman用户交互、服务器交互
Apr 28 PHP
PHP daddslashes 使用方法介绍
Oct 26 #PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 #PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 #PHP
php中检查文件或目录是否存在的代码小结
Oct 22 #PHP
php模拟js函数unescape的函数代码
Oct 20 #PHP
PHP 万年历实现代码
Oct 18 #PHP
php页面缓存ob系列函数介绍
Oct 18 #PHP
You might like
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
PHP实现搜索相似图片
2015/09/22 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
python 域名分析工具实现代码
2009/07/15 Python
python单链表实现代码实例
2013/11/21 Python
python多重继承实例
2014/10/11 Python
Python用模块pytz来转换时区
2016/08/19 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python如何求100以内的素数
2020/05/27 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python通过cython加密代码
2020/12/11 Python
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
总经理助理工作职责
2014/02/06 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书