基于PHP magic_quotes_gpc的使用方法详解


Posted in PHP onJune 24, 2013

PHP magic_quotes_gpc主要是作用在WEB客户服务端的,它的作用时间是从请求开始,接下来我们将具体的为大家讲解它的使用方式。
AD:
我们今天要向大家介绍的是PHP magic_quotes_gpc的具体使用方法。大家都知道在PHP中一个特殊的函数魔术函数,它在引用的过程中只有在传递$_GET,$_POST,$_COOKIE时才会发生作用。
•PHP函数preg_split的正确使用方法
•解读PHP函数explode()的具体使用方法
•PHP函数implode()与explode()函数的不同
•PHP类CMS如何自动获取关键字
•探讨PHP函数split()如何使用正则表达式切

1.
条件:PHP magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。
数据:$data=”snow”''sun” ; (snow和sun之间是四个连续的单引号).
操作:将字符串:”snow”''sun” 写入数据库,
结果:出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。
数据库保存格式:无数据。
输出数据格式:无数据。
说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。

2.
条件:PHP magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。
数据:$data=”snow”''sun” ; (snow和sun之间是四个连续的单引号).
操作:将字符串:”snow”''sun” 写入数据库,
结果:sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow”''sun (和输入一样)
输出数据格式:snow”''sun (和输入一样)
说明: addslashes()函数将单引号转换为\'的转义字符使sql语句成功执行,
但\'并未作为数据存入数据库,数据库保存的是snow”''sun 而并不是我们想象的snow\'\'\'\'sun

3.
条件:PHP magic_quotes_gpc=on
写入数据库的字符串未经过任何处理。从数据库读出的字符串未作任何处理。
数据:$data=”snow”''sun” ; (snow和sun之间是四个连续的单引号).
操作:将字符串:”snow”''sun” 写入数据库,
结果:sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow”''sun (和输入一样)
输出数据格式:snow”''sun (和输入一样)
说明: PHP magic_quotes_gpc=on 将单引号转换为\'的转义字符使sql语句成功执行,
但\'并未作为数据入数据库,数据库保存的是snow”''sun而并不是我们想象的snow\'\'\'\'sun。

4.
条件:PHP magic_quotes_gpc=on
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。
数据:$data=”snow”''sun” ; (snow和sun之间是四个连续的单引号).
操作:将字符串:”snow”''sun” 写入数据库,
结果:sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow\'\'\'\'sun (添加了转义字符)
输出数据格式:snow\'\'\'\'sun (添加了转义字符)
说明: PHP magic_quotes_gpc=on 将单引号转换为\'的转义字符使sql语句成功执行,
addslashes又将即将写入数据库的单引号转换为\',后者的转换被作为数据写入
数据库,数据库保存的是snow\'\'\'\'sun

总结如下:
1. 对于PHP magic_quotes_gpc=on的情况,
我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于PHP magic_quotes_gpc=off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

补充:
PHP magic_quotes_gpc作用范围是:WEB客户服务端;作用时间:请求开始时,例如当脚本运行时.
magic_quotes_runtime 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据

PHP 相关文章推荐
谈谈PHP语法(4)
Oct 09 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
Yii2中DropDownList简单用法示例
Jul 18 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 #PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 #PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 #PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 #PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 #PHP
phpmailer发送gmail邮件实例详解
Jun 24 #PHP
深入php中var_dump方法的使用详解
Jun 24 #PHP
You might like
一个php作的文本留言本的例子(五)
2006/10/09 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
Face++ API实现手势识别系统设计
2018/11/21 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
永远是春天观后感
2015/06/12 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
高中化学教学反思
2016/02/22 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL