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 adodb分页实现代码
Mar 19 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
解析isset与is_null的区别
Aug 09 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
PHP中数组定义的几种方法
Sep 01 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 PHP
php cli配置文件问题分析
Oct 15 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
PHP之header函数详解
Mar 02 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 Mysql编程之高级技巧
2008/08/27 PHP
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
php 定义404页面的实现代码
2012/11/19 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JS中表单的使用小结
2014/01/11 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
python实现人人网登录示例分享
2014/01/19 Python
Python中__init__和__new__的区别详解
2014/07/09 Python
Python中操作MySQL入门实例
2015/02/08 Python
python开发之文件操作用法实例
2015/11/13 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
python 如何停止一个死循环的线程
2020/11/24 Python
公务员职务工作的自我评价
2013/11/01 职场文书
立春观后感
2015/06/18 职场文书
昆虫记读书笔记
2015/06/26 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
mysql sql常用语句大全
2022/06/21 MySQL