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_MySQL教程-第一天
Mar 18 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
PHP异常处理Exception类
Dec 11 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
PHP explode()函数用法讲解
Feb 15 PHP
调试php程序的简单步骤
Oct 04 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 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备份MYSQL数据的多种方法
2014/01/15 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php编写简单的文章发布程序
2015/06/18 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
在Django中创建第一个静态视图
2015/07/15 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python读取LMDB中图像的方法
2018/07/02 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python如何用filter函数筛选数据
2020/03/05 Python
Python ini文件常用操作方法解析
2020/04/26 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
外贸学院会计专业应届生求职信
2013/11/14 职场文书
英文商务邀请信
2014/01/22 职场文书
入团介绍人意见范文
2015/06/04 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书