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 相关文章推荐
PHP5 安装方法
Jan 15 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
PHP 金额数字转换成英文
May 06 PHP
深入理解PHP之require/include顺序 推荐
Jan 02 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
全面解析PHP操作Memcache基本函数
Jul 14 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
php如何计算两坐标点之间的距离
Dec 29 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
JS表的模拟方法
2015/02/05 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
js实现随机点名
2021/01/19 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
浅谈python之新式类
2018/08/12 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python中提高pip install速度
2020/02/14 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
python获取整个网页源码的方法
2020/08/03 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
劲霸男装广告词
2014/03/21 职场文书
公司承诺书格式
2014/05/21 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
单位实习鉴定评语
2015/01/04 职场文书
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript