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网站基础优化方法小结
Sep 29 PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
隐性调用php程序的方法
Jun 13 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 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中函数内引用全局变量的方法
2008/10/20 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
tornado捕获和处理404错误的方法
2014/02/26 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python处理文本换行符实例代码
2018/02/03 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
接口中的方法可以是abstract的吗
2015/07/23 面试题
外企C语言笔试题
2013/11/10 面试题
教师一岗双责责任书
2014/04/16 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python