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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
PHP常用代码
Nov 23 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
PHP中使用BigMap实例
Mar 30 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
一文搞懂php的垃圾回收机制
Jun 18 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排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
关于this和self的使用说明
2010/08/01 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
python模块之re正则表达式详解
2017/02/03 Python
分析Python读取文件时的路径问题
2018/02/11 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
Java程序员综合测试题
2014/04/25 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
经济信息系毕业生自荐信
2014/06/02 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
考研英语复习计划
2015/01/19 职场文书
大国崛起观后感
2015/06/02 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL