转自网络
在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);
}
相关推荐
Magic Quotes GPC是一种自动转义全局变量(GET、POST和COOKIE)中特殊字符的功能,主要用于防止SQL注入攻击。此功能在PHP 5.3.0及更早版本默认启用,在PHP 5.4.0中被废弃,并在PHP 7.0.0中被完全移除。 **语法:** ...
如果`magic_quotes_gpc`设置为开启,但开发者想要手动处理字符串转义,应当首先使用`get_magic_quotes_gpc()`检查当前状态。如果返回值为1,说明数据已经自动转义,这时再使用`addslashes()`就会导致双层转义,因此...
magic_quotes_gpc是PHP中用于自动转义GET、POST和COOKIE数据的一个选项。当magic_quotes_gpc设置为on时,PHP会自动对所有从客户端获取的数据执行addslashes()函数,即在单引号(')、双引号(")、反斜线(\)前添加反斜线...
特地查看了下手册,关于php magic quotes,常见的几个设置如下,magic_quotes_gpc,magic...get_magic_quotes_gpc()){$post=addslashes($post);}如果开启了它们,会自动给你转义单引号(’)、双引号(”)、反斜线(\
get_magic_quotes_gpc()函数返回一个长整数,如果magic_quotes_gpc打开(即设置为"on"),则返回1;如果关闭(即设置为"off"),则返回0。当magic_quotes_gpc打开时,所有的单引号(')、双引号(")、反斜线(\)和NUL...
需要注意的是,如果数据库中直接保存了包含转义字符的数据(如使用magic_quotes_gpc=on时),可能会影响数据的正常显示,因此在实际开发中,需要根据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魔术引号实现在PHP 5.4更高版本上为旧版代码实现magic_quotes_gpc 如果您要将旧版源代码迁移到上述PHP 5.4版的环境中,但是根据Magic Quotes magic_quotes_gpc SQL保护,其中包括许多易受攻击的数据库查询代码。...
magic_quotes_gpc主要作用是自动为GET、POST、COOKIE输入的资料加上反斜线(\),以防止SQL注入攻击。在PHP的早期版本中,默认是开启的,但随着技术的发展,其弊端也逐渐显现,主要问题是它可能会导致数据处理上的不便...
get_magic_quotes_gpc : 取得 PHP 环境变量 magic_quotes_gpc 的值。 get_magic_quotes_runtime : 取得 PHP 环境变量 magic_quotes_runtime 的值。 getlastmod : 返回该网页的最后
get_magic_quotes_gpc()) { // 如果 magic_quotes_gpc 关闭,则手动添加斜杠 return addslashes($string); } return $string; } ``` #### 使用方法 为了方便复用,我们可以将上述代码封装到一个单独的文件 `...
4. `get_str`函数则根据`get_magic_quotes_gpc()`函数的返回值决定是否需要使用`addslashes`进行转义。如果`get_magic_quotes_gpc()`返回真,说明服务器已经自动添加反斜杠,所以不需要额外转义;否则,使用`...
拉取请求 ... 新功能需要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
拉取请求 ... 新功能需要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
拉取请求 ... 新功能需要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
- **代码实现**:在提供的代码中,首先检测`get_magic_quotes_gpc`是否为真,如果是,则对`$_GET`、`$_POST`、`$_COOKIE`和`$_FILES`中的数据再次进行安全处理。 - **注意事项**:自PHP 5.4.0起,`magic_quotes_gpc`...
if(@get_magic_quotes_gpc()){ $_GET = sec($_GET); $_POST = sec($_POST); $_COOKIE = sec($_COOKIE); $_FILES = sec($_FILES); } $_SERVER = sec($_SERVER); function sec(&$array){ //如果是数组,遍历数组...