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
php 模拟get_headers函数的代码示例
Apr 27 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
php简单的上传类分享
May 15 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
php支付宝系列之电脑网站支付
May 30 PHP
php 可变函数使用小结
Jun 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
php实现支持中文的文件下载功能示例
2017/08/30 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
取键盘键位ASCII码的网页
2007/07/30 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
详谈javascript精度问题与调整
2017/07/08 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python的函数嵌套的使用方法
2014/01/24 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
python如何写个俄罗斯方块
2020/11/06 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
苹果中国官方网站:Apple中国
2016/07/22 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
学生偷窃检讨书
2014/09/25 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python