`

get_magic_quotes_gpc()

    博客分类:
  • PHP
 
阅读更多

转自网络

 

在php的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,

php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反

斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时

就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini

文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常

执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理

,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。

magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\'\"\\加上反斜

线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用

addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反

斜线。这些字符是单引号(\')、双引号(\")、反斜线(\\)与 NUL(NULL 字符)。

一般用法如下;
if(!get_magic_quotes_gpc())
{
    addslashes($prot);
}

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    get_magic_quotes函数详解

    Magic Quotes GPC是一种自动转义全局变量(GET、POST和COOKIE)中特殊字符的功能,主要用于防止SQL注入攻击。此功能在PHP 5.3.0及更早版本默认启用,在PHP 5.4.0中被废弃,并在PHP 7.0.0中被完全移除。 **语法:** ...

    php中get_magic_quotes_gpc()函数说明

    如果`magic_quotes_gpc`设置为开启,但开发者想要手动处理字符串转义,应当首先使用`get_magic_quotes_gpc()`检查当前状态。如果返回值为1,说明数据已经自动转义,这时再使用`addslashes()`就会导致双层转义,因此...

    基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍

    magic_quotes_gpc是PHP中用于自动转义GET、POST和COOKIE数据的一个选项。当magic_quotes_gpc设置为on时,PHP会自动对所有从客户端获取的数据执行addslashes()函数,即在单引号(')、双引号(")、反斜线(\)前添加反斜线...

    深入PHP magic quotes的详解

    特地查看了下手册,关于php  magic quotes,常见的几个设置如下,magic_quotes_gpc,magic...get_magic_quotes_gpc()){$post=addslashes($post);}如果开启了它们,会自动给你转义单引号(’)、双引号(”)、反斜线(\

    PHP的特殊字符转译函数使用.pdf

    get_magic_quotes_gpc()函数返回一个长整数,如果magic_quotes_gpc打开(即设置为"on"),则返回1;如果关闭(即设置为"off"),则返回0。当magic_quotes_gpc打开时,所有的单引号(')、双引号(")、反斜线(\)和NUL...

    基于PHP magic_quotes_gpc的使用方法详解

    需要注意的是,如果数据库中直接保存了包含转义字符的数据(如使用magic_quotes_gpc=on时),可能会影响数据的正常显示,因此在实际开发中,需要根据magic_quotes_gpc的设置来决定是否需要去除数据中的转义字符。...

    PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法

    php $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if(!$magic_quotes_gpc) { $_FILES = daddslashes($_FILES); }...

    php-magic-quotes-gpc:在PHP 5.4更高版本上为旧版代码实现magic_quotes_gpc

    PHP魔术引号实现在PHP 5.4更高版本上为旧版代码实现magic_quotes_gpc 如果您要将旧版源代码迁移到上述PHP 5.4版的环境中,但是根据Magic Quotes magic_quotes_gpc SQL保护,其中包括许多易受攻击的数据库查询代码。...

    php magic_quotes_gpc的一点认识与分析

    magic_quotes_gpc主要作用是自动为GET、POST、COOKIE输入的资料加上反斜线(\),以防止SQL注入攻击。在PHP的早期版本中,默认是开启的,但随着技术的发展,其弊端也逐渐显现,主要问题是它可能会导致数据处理上的不便...

    PHP 选项及相关信息函数库

     get_magic_quotes_gpc : 取得 PHP 环境变量 magic_quotes_gpc 的值。 get_magic_quotes_runtime : 取得 PHP 环境变量 magic_quotes_runtime 的值。 getlastmod : 返回该网页的最后

    轻松实现php代码防注入,保护代码安全

    get_magic_quotes_gpc()) { // 如果 magic_quotes_gpc 关闭,则手动添加斜杠 return addslashes($string); } return $string; } ``` #### 使用方法 为了方便复用,我们可以将上述代码封装到一个单独的文件 `...

    php防注入的两种方法

    4. `get_str`函数则根据`get_magic_quotes_gpc()`函数的返回值决定是否需要使用`addslashes`进行转义。如果`get_magic_quotes_gpc()`返回真,说明服务器已经自动添加反斜杠,所以不需要额外转义;否则,使用`...

    php-src:php源码阅读

    拉取请求 ... 新功能需要RFC,并且必须为开发人员所接受。...After removing magic quotes, the get_magic_quotes_gpc function caused a deprecate warning. get_magic_quotes_gpc can be used to detected t

    php7.1.0:php源码学习

    拉取请求 ... 新功能需要RFC,并且必须为开发人员所接受。...After removing magic quotes, the get_magic_quotes_gpc function caused a deprecate warning. get_magic_quotes_gpc can be used to detected the mag

    php-src-7.2.2:php-7.2.2源码阅读

    拉取请求 ... 新功能需要RFC,并且必须为开发人员所接受。...After removing magic quotes, the get_magic_quotes_gpc function caused a deprecate warning. get_magic_quotes_gpc can be used to detected the mag

    比较好用的PHP防注入漏洞

    - **代码实现**:在提供的代码中,首先检测`get_magic_quotes_gpc`是否为真,如果是,则对`$_GET`、`$_POST`、`$_COOKIE`和`$_FILES`中的数据再次进行安全处理。 - **注意事项**:自PHP 5.4.0起,`magic_quotes_gpc`...

    sql注入原理及php防注入代码.doc

    if(@get_magic_quotes_gpc()){ $_GET = sec($_GET); $_POST = sec($_POST); $_COOKIE = sec($_COOKIE); $_FILES = sec($_FILES); } $_SERVER = sec($_SERVER); function sec(&$array){ //如果是数组,遍历数组...

Global site tag (gtag.js) - Google Analytics