这样能做到防注入?
程序员文章站
2022-05-27 13:18:11
...
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; $iresult_first("select userid from user where username='$test'");....以下代码省略?>
能做到防注入吗回复讨论(解决方案)
不能!
你没有对特殊字符 ' 做任何处理不能!
你没有对特殊字符 ' 做任何处理function addslashes_array(&$array) { if(is_array($array)){ foreach($array as $k => $v) { $array[$k] = addslashes_array($v); } }elseif(is_string($array)){ $array = addslashes($array); } return $array;}if(!@get_magic_quotes_gpc()){ $_GET = addslashes_array($_GET); $_POST = addslashes_array($_POST); $_COOKIE = addslashes_array($_COOKIE);}
再加两行代码 这样是否可以做到呢单引号等,可以考虑使用mysql等自己的函数转换