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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
用缓存实现静态页面的测试
Dec 06 PHP
通俗易懂的php防注入代码
Apr 07 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
php函数连续调用实例分析
Jul 30 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
基于php判断客户端类型
Oct 14 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
Laravel框架文件上传功能实现方法示例
Apr 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进行MySQL删除记录操作代码
2008/06/07 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
php多线程并发实现方法
2016/09/30 PHP
php Session无效分析资料整理
2016/11/29 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
abstract class和interface有什么区别
2013/08/04 面试题
电大奖学金获奖感言
2014/08/14 职场文书
离婚协议书标准格式
2014/10/04 职场文书
人民调解协议书范本
2014/10/11 职场文书
施工安全保证书
2015/05/09 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书