码迷,mamicode.com
首页 > 其他好文 > 详细

get_magic_quotes_gpc 检测是否开启转义函数,5.4版移除后该怎么办?

时间:2020-05-07 10:43:55      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:特殊   增加   带来   gic   php5   eal   das   dsl   字符串   

get_magic_quotes_gpc — 获取当前 magic_quotes_gpc 的配置选项设置,这个是magic_quotes_gpc在php.ini里面的配置选项,在运行时设置将不会成功。

如果设置了这个选项,那么php解析器就会自动为POST、GET、COOKIE过来的数据增加转义字符"\"。

为什么要有这个选项?

增加转义符最主要的目的就是为了防止包含sql注入之内的数据注入攻击。

在实践中,一般如下处理:

 


if (!get_magic_quotes_gpc())
{
if (!empty($_GET))
{
$_GET = addslashes_deep($_GET);
}
if (!empty($_POST))
{
$_POST = addslashes_deep($_POST);
}

$_COOKIE = addslashes_deep($_COOKIE);
$_REQUEST = addslashes_deep($_REQUEST);
}


在php5.4的更高版本中,这个选项被去掉了,也即是php解析器不会自动为POST、GET、COOKIE过来的数据增加转义字符"\",而是把安全编码交给了用户自己,从而避免了magic_quotes_gpc未设置,用户依赖这个设置而带来了安全隐患。

这就需要我们在进行sql语句执行前,必须转义任何变量:

mysql_real_escape_string — 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集。

本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。

 

应使用 MySQLi 或 PDO_MySQL 扩展 配合过滤器来替换。

 

get_magic_quotes_gpc 检测是否开启转义函数,5.4版移除后该怎么办?

标签:特殊   增加   带来   gic   php5   eal   das   dsl   字符串   

原文地址:https://www.cnblogs.com/newones/p/12841318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!