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之规范编程命名小结
May 15 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
php微信公众号开发之答题连闯三关
Oct 20 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
PHP脚本中include文件出错解决方法
2008/11/20 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP闭包函数详解
2016/02/13 PHP
js判断url是否有效的两种方法
2014/03/04 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
Promise扫盲贴
2019/06/24 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
django 自定义用户user模型的三种方法
2014/11/18 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
基于python绘制科赫雪花
2018/06/22 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
如何基于python实现归一化处理
2020/01/20 Python
基于python实现复制文件并重命名
2020/09/16 Python
Python实现粒子群算法的示例
2021/02/14 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
社区党员志愿服务活动方案
2014/08/18 职场文书
西湖英语导游词
2015/02/06 职场文书
个人专业技术总结
2015/03/05 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
java代码实现空间切割
2022/01/18 Java/Android
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers