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 session和cookie使用说明
Apr 07 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
May 13 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 PHP
php自动加载代码实例详解
Feb 26 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通过strpos查找字符串出现位置的方法
2015/03/17 PHP
php图片裁剪函数
2018/10/31 PHP
PHP的PDO连接讲解
2019/01/24 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
Javascript中的 “&” 和 “|” 详解
2017/02/02 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
Vue实现简单分页器
2018/12/29 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
Python 实现链表实例代码
2017/04/07 Python
python实现画循环圆
2019/11/23 Python
个人简历自我鉴定
2013/10/11 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
关于运动会的广播稿
2015/08/19 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
ipad隐藏软件app图标方法
2022/04/19 数码科技