基于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调用数据库的存贮过程
Oct 09 PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
php限制ip地址范围的方法
Mar 31 PHP
PHP SplObjectStorage使用实例
May 12 PHP
帝国cms目录结构分享
Jul 06 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
php实现遍历多维数组的方法
Nov 25 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
laravel-admin的图片删除实例
Sep 30 PHP
PHP与Web页面的交互示例详解一
Aug 04 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引用(&)
2014/09/04 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python 的 Socket 编程
2015/03/24 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
python 格式化输出百分号的方法
2019/01/20 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
纬创Java面试题笔试题
2014/10/02 面试题
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS