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 相关文章推荐
整理的9个实用的PHP库简介和下载
Nov 09 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
浅谈PHP中output_buffering
Jul 13 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
php防止sql注入的方法详解
Feb 20 PHP
详解php协程知识点
Sep 21 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP的引用详解
2015/02/22 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
PHP文件操作方法汇总
2015/07/01 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
JavaScript实现禁止后退的方法
2006/12/27 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
Python实现建立SSH连接的方法
2015/06/03 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
Java面试笔试题大全
2016/11/23 面试题
行政求职信
2014/07/04 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python