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 类型转换函数intval
Jun 20 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
PHP常用的小程序代码段
Nov 14 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
CI框架附属类用法分析
Dec 26 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 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基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
几行js代码实现自适应
2017/02/24 Javascript
react路由配置方式详解
2017/08/07 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
对python生成业务报表的实例详解
2019/02/03 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
专业实习自我鉴定
2013/10/29 职场文书
日语专业个人的求职信
2013/12/03 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
检讨书范文500字
2015/01/28 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
matlab xlabel位置的设置方式
2021/05/21 Python