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 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
将PHP作为Shell脚本语言使用
Oct 09 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
PHP及Zend Engine的线程安全模型分析
Nov 10 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 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 正则匹配函数体
2009/08/25 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
浅谈PHP封装CURL
2019/03/06 PHP
php获取微信openid方法总结
2019/10/10 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python实现KNN邻近算法
2021/01/28 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python编写简单端口扫描器
2019/09/04 Python
Python: 传递列表副本方式
2019/12/19 Python
什么是serialVersionUID
2016/03/04 面试题
监理资料员岗位职责
2014/01/03 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
一帮一活动总结
2014/05/08 职场文书
运动会标语
2014/06/21 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
感谢信的格式
2015/01/21 职场文书
校运会通讯稿
2015/07/18 职场文书
运动会宣传稿50字
2015/07/23 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
MySQL七大JOIN的具体使用
2022/02/28 MySQL