xss magic_quotes_gpc

---恢复内容开始---

magic_quotes_gpc函数,在php5.4以上移除了,

但是很奇怪的是  我的5.6版本这边  是可以找到这个选项的。

在php.ini文件里面,默认关闭,如果将此开启,php解析会自动将POST、GET/COOKIE传过来的数据进行转义。

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

 

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

$value = mysql_real_escape_string($value);

 

除了数据库部分,程序如何加强自己自身的安全性,保护php cookie get post files  数据。

<?php 
$magic_quotes_gpc = get_magic_quotes_gpc(); 
@extract(daddslashes($_COOKIE)); 
@extract(daddslashes($_POST)); 
@extract(daddslashes($_GET)); 
if(!$magic_quotes_gpc) { 
$_FILES = daddslashes($_FILES); 
} 
//daddslashes函数,转译字符函数 
function daddslashes($string) { 
if(!is_array($string)) return addslashes($string); 
foreach($string as $key => $val) $string[$key] = daddslashes($val); 
return $string; 
} 
?> 

 

 

posted @ 2018-07-22 11:30  渐渐遗忘者  阅读(302)  评论(0编辑  收藏  举报