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 相关文章推荐
linux php mysql数据库备份实现代码
Mar 10 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
php获取当前页面完整URL地址
Dec 30 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 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五种设计模式小结
2011/03/23 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Django 拆分model和view的实现方法
2019/08/16 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
python 经典数字滤波实例
2019/12/16 Python
解决django FileFIELD的编码问题
2020/03/30 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Python 操作 MySQL数据库
2020/09/18 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
人事文员岗位职责
2014/02/16 职场文书
保密普查工作实施方案
2014/02/25 职场文书
七匹狼男装广告词
2014/03/21 职场文书
心理健康活动总结
2014/04/30 职场文书
安全负责人任命书
2014/06/06 职场文书
学党史心得体会
2014/09/05 职场文书
赔偿协议书范本
2014/09/12 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
Python开发五子棋小游戏
2022/04/28 Python