基于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数组的维度
Jun 10 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
PHP多文件上传类实例
Mar 07 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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 获取远程网页内容的函数
2009/09/08 PHP
php中define用法实例
2015/07/30 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
python常用排序算法的实现代码
2019/11/08 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
记帐员岗位责任制
2014/02/08 职场文书
法律专业求职信
2014/05/24 职场文书
处级干部考察材料
2014/12/24 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
高一化学教学反思
2016/02/22 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
市场营销计划书
2019/04/24 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
MySQL优化及索引解析
2022/03/17 MySQL
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python