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算开始时间到过期时间的相隔的天数
Jan 12 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
Aug 02 PHP
使用PHP开发留言板功能
Nov 19 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
Protoss魔法科技
2020/03/14 星际争霸
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
简单的三步vuex入门
2018/05/20 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
Python中for循环控制语句用法实例
2015/06/02 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Django 静态文件配置过程详解
2019/07/23 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
Python实现扫码工具的示例代码
2020/10/09 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
Android面试宝典
2013/08/06 面试题
How TDD works
2012/09/30 面试题
汉语专业应届生求职信
2013/10/01 职场文书
如何填写个人简历自我评价
2013/12/10 职场文书
优秀护士获奖感言
2014/02/20 职场文书
财务总监岗位职责
2014/03/07 职场文书
外联部演讲稿
2014/05/24 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js