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 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
php json与xml序列化/反序列化
Oct 28 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
php获取微信openid方法总结
Oct 10 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
PHP程序守护进程化实现方法详解
Jul 16 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 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
动态生成gif格式的图像要注意?
2006/10/09 PHP
实用函数9
2007/11/08 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
使用Django和Python创建Json response的方法
2018/03/26 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
Python新手学习装饰器
2020/06/04 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
读书伴我成长演讲稿
2014/05/07 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
好好学习保证书
2015/02/26 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
HttpClient实现表单提交上传文件
2022/08/14 Java/Android