首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

这么能做到防注入

2013-10-14 
这样能做到防注入?function defend_xss($val){return is_array($val) ? $val : htmlspecialchars($val)}f

这样能做到防注入?


function defend_xss($val){
return is_array($val) ? $val : htmlspecialchars($val);
}

function gpc($name,$w = 'GPC',$default = '',$d_xss=1){
global $curr_script;
if($curr_script==ADMINCP){
$d_xss = 0;
}
$i = 0;
for($i = 0; $i < strlen($w); $i++) {
if($w[$i] == 'G' && isset($_GET[$name])) return $d_xss ? defend_xss($_GET[$name]) : $_GET[$name];
if($w[$i] == 'P' && isset($_POST[$name])) return $d_xss ? defend_xss($_POST[$name]) : $_POST[$name];
if($w[$i] == 'C' && isset($_COOKIE[$name])) return $d_xss ? defend_xss($_COOKIE[$name]) : $_COOKIE[$name];
}
return $default;
}



<?php
$test = gpc('test','P','')
$userid = @$db->result_first("select userid from user where username='$test'");
....以下代码省略
?>


能做到防注入吗 
[解决办法]
不能!
你没有对特殊字符 ' 做任何处理
[解决办法]
单引号等,可以考虑使用mysql等自己的函数转换

热点排行