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 和 MySQL 基础教程(三)
Oct 09 PHP
消息持续发送的完整例子
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
php表单处理操作
Nov 16 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注入实例
2006/10/09 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
技术副厂长岗位职责
2013/12/26 职场文书
优秀员工表扬信
2014/01/17 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
法人委托书范本
2014/04/04 职场文书
护士节策划方案
2014/05/19 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
我的1919观后感
2015/06/03 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python