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的开合式多级菜单程序
Oct 09 PHP
php MsSql server时遇到的中文编码问题
Jun 11 PHP
又一个php 分页类实现代码
Dec 03 PHP
解析php开发中的中文编码问题
Aug 08 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 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
PHP4之真OO
2006/10/09 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
JavaScript修改css样式style
2008/04/15 Javascript
什么是JavaScript
2009/08/13 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
js opener的使用详解
2014/01/11 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
用Python shell简化开发
2018/08/08 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python区分不同数据类型的方法
2019/10/14 Python
python自动点赞功能的实现思路
2020/02/26 Python
django项目中新增app的2种实现方法
2020/04/01 Python
使用Pycharm分段执行代码
2020/04/15 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
创新比赛获奖感言
2014/02/13 职场文书
青春雷锋观后感
2015/06/10 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
假期读书倡议书3篇
2019/08/19 职场文书