深入PHP magic quotes的详解

 更新时间:2013年06月17日 10:14:00   作者:  
本篇文章是对php中的magic quotes进行了详细的分析介绍,需要的朋友参考下

特地查看了下手册,关于php  magic quotes,常见的几个设置如下,magic_quotes_gpc,magic_quotes_sybase,magic_quote_runtime,这几个函数是在php.ini中去配置的,从手册中可以看出从php5.3后已经废除了这些特性,所以强烈大家不要使用,在php.ini中关闭它。

php.ini中magic quotes设置

这些函数的作用是对数据进行转义。防止sql注入的时候,很多人会这样写:

复制代码 代码如下:

if(!get_magic_quotes_gpc()){
$post=addslashes($post);
}

如果开启了它们,会自动给你转义单引号(')、双引号(")、反斜线(\)与 NUL(null字符),其实就相当于调用addslashes函数。你可能会说这样不是很好嘛,安全性更高了,但是,你考虑代码移植性了吗?另外,对于上所有gpc($_GET,$_POST,$_COOKIE)的数据你都进行转义是否有必要?开销有多大?下面PHP点点通(phpddt.com)就对手册中关于Magic Quotes的详细说明:

1.magic_quotes_gpc

magic_quotes_gpc这个是用来设置GPC($_GET、$_POST、$_COOKIE)的魔术引用状态(在PHP4中也包含$_ENV)。当开启时,所有的单引号(single-quote),双引号(double quote),反斜线(backslash)和NUL's会被反斜线自动转义。当开启magic_quote_sybase为on时,只有单引号(singgle-quote)会被单引号转义为'',双引号、反斜线(backslash)和NUL's不受影响不会被转义。

magic_quotes_gpc教程

2.magic_quote_runtime

magic_quote_runtime如果开启该选项,许多返回外部数据(数据库、文本)的函数将会被反斜线(backslash)转义。如果也开启magic_quote_sybase,则只有单引号(single-quote)会被单引号转义。

magic_quote_runtime教程

3.magic_quotes_sybase

magic_quotes_sybase如果设置此选项开启、在magic_quotes_gpc,magic_quotes_runtime开启的情况下单引号‘会被单引号'转移而不是被反斜线\转义。同时、此设置会完全覆盖magic_quotes_gpc的设置,即使magic_quotes_gpc被设置为on,双引号“、反斜线\和NUL's也不会被转义。

magic_quotes_sybase教程

相关文章

  • php+ajax实时刷新简单实例

    php+ajax实时刷新简单实例

    这篇文章主要介绍了php+ajax实时刷新简单实现方法,实例分析了Ajax的实现原理以及对应的php处理文件基本原理与操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php字符串函数 str类常见用法示例

    php字符串函数 str类常见用法示例

    这篇文章主要介绍了php字符串函数 str类常见用法,结合实例形式分析了php字符串函数常见操作技巧与相关注意事项,需要的朋友可以参考下
    2020-05-05
  • 使用PHP破解防盗链图片的一个简单方法

    使用PHP破解防盗链图片的一个简单方法

    这篇文章主要介绍了使用PHP破解防盗链图片的一个简单方法,但小编未经测试,看着有点不靠谱,需要的朋友参考下吧
    2014-06-06
  • php将时间差转换为字符串提示

    php将时间差转换为字符串提示

    通过传入数据库中存储的文章发表时的UNIX时间戳,来转化为例如 几分钟前,几小时前,几天前 这样的提示。如微博
    2011-09-09
  • php下将XML转换为数组

    php下将XML转换为数组

    PHP XML To Array,将XML转换为数组,需要的朋友可以参考下。
    2010-01-01
  • PHP实现通过URL提取根域名

    PHP实现通过URL提取根域名

    本文给大家分享的是个人在做项目的时候遇到的,需要通过php实现从URL中提取根域名的代码以及实现思路,有需要的小伙伴可以参考下
    2016-03-03
  • php 解决扫描二维码下载跳转问题

    php 解决扫描二维码下载跳转问题

    这篇文章主要介绍了php 解决扫描二维码下载跳转问题的相关资料,需要的朋友可以参考下
    2017-01-01
  • PHP转盘抽奖接口实例

    PHP转盘抽奖接口实例

    这篇文章主要介绍了PHP转盘抽奖接口的实现方法,实例分析了随机抽奖接口的实现原理与对应数据库操作的技巧,需要的朋友可以参考下
    2015-02-02
  • PHP实现的同步推荐操作API接口案例分析

    PHP实现的同步推荐操作API接口案例分析

    这篇文章主要介绍了PHP实现的同步推荐操作API接口案例,结合具体实例形式分析了同步推荐操作具体的功能、接口、方法、参数及相关使用技巧,需要的朋友可以参考下
    2016-11-11
  • php 数组字符串搜索array_search技巧

    php 数组字符串搜索array_search技巧

    本文给大家总结了一下PHP实现数组字符串搜索的几种使用技巧,非常的简单实用,有需要的小伙伴可以参考下
    2016-07-07

最新评论