基于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 miniBB中文乱码问题解决方法
Nov 25 PHP
PHP 手机归属地查询 api
Feb 08 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php网页标题中文乱码的有效解决方法
Mar 05 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
php pdo连接数据库操作示例
Nov 18 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性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
Python with用法实例
2015/04/14 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python内存读写操作示例
2018/07/18 Python
python 图像平移和旋转的实例
2019/01/10 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
医学专业大学生求职的自我评价
2013/11/27 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
总裁办公室主任职责
2014/01/02 职场文书
教师节促销方案
2014/03/22 职场文书
银行进社区活动总结
2014/07/07 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
2015年见习期工作总结
2014/12/12 职场文书
公司晚会主持词
2019/04/17 职场文书