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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
PHP 日常开发小技巧
Sep 23 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
php输出形式实例整理
May 05 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
3
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
python实现简单的TCP代理服务器
2014/10/08 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
Python中类的初始化特殊方法
2017/12/01 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
解决python报错MemoryError的问题
2018/06/26 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
DBA的职责都有哪些
2012/05/16 面试题
学生党员思想汇报范文
2014/01/09 职场文书
网管求职信
2014/03/03 职场文书
社区两委对照检查材料
2014/08/23 职场文书
2014年检验员工作总结
2014/11/19 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
Elasticsearch 配置详解
2022/04/19 Java/Android
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers