PHP 转义使用详解


Posted in PHP onJuly 15, 2013

php中数据的魔法引用函数 magic_quotes_gpc  或 magic_quotes_runtime    

设置为on时,为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行
两者的区别:

magic_quotes_gpc
作用范围是:WEB客户服务端;
作用时间:请求开始是,例如当脚本运行时。

magic_quotes_runtime
作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;
作用时间:每次当脚本访问运行状态中产生的数据。

可以看出
magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据
magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据

几个想关联的函数:
set_magic_quotes_runtime():
设置magic_quotes_runtime值. 0=关闭.1=打开.默认状态是关闭的.可以通过 echo phpinfo(); 查看magic_quotes_runtime
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=关闭.1=打开
get_magic_quotes_runtime():
查看magic_quotes_runtime值。0=关闭.1=打开.
注意的是没有 set_magic_quotes_gpc()这个函数,就是不能在程序里面设置magic_quotes_gpc的值。

由于两个值的设置问题,会给编程时造成部分混淆或者会多加一次转义,针对这种情况,需要在程序开始的时候进行设置和判断,或者默认配置
这两个值都关闭。转义部分通过程序来执行。

保证数据插入数据时正常 通常会使用 addslashes 这个来处理, 数据读出时多用 stripslashes 来去掉加的反斜杠

php中类似的字符转换的函数
addslashes                         指定的预定义字符前添加反斜杠
stripslashes                        删除由 addslashes() 函数添加的反斜杠
htmlspecialchars                把一些预定义的字符转换为 HTML 实体
htmlspecialchars_decode  把一些预定义的 HTML 实体转换为字符
html_entity_decode()        把 HTML 实体转换为字符
htmlentities()                     把字符转换为 HTML 实体

PHP 相关文章推荐
PHP操作文件方法问答
Mar 16 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
php表单提交问题的解决方法
Apr 12 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
PHP实现远程下载文件到本地
May 17 PHP
php类的扩展和继承用法实例
Jun 20 PHP
php和vue配合使用技巧和方法
May 09 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 PHP
PHP后门隐藏的一些技巧总结
Nov 04 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 #PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 #PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 #PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 #PHP
php图像处理函数大全(推荐收藏)
Jul 11 #PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 #PHP
深入Nginx + PHP 缓存详解
Jul 11 #PHP
You might like
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python format 格式化输出方法
2018/07/16 Python
python读取Excel实例详解
2018/08/17 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
使用python+whoosh实现全文检索
2019/12/09 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
毕业自我鉴定总结
2014/03/24 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
项目安全员岗位职责
2015/02/15 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
关于分班的感言
2015/08/04 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
python3操作redis实现List列表实例
2021/08/04 Python