欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

sql 注入 字符的检测函数

程序员文章站 2022-06-08 10:40:56
...
自己写的一款sql注入检测函数,可以有效的检测用户post,get过来的参考进行过滤,有需要的朋友参考一下。
代码如下 复制代码

/*sql 注入 字符的检测
* 在所有用户输入的数据,post传参, get传参 都需要检测下
* 如果有匹配到关键字 则 返回该关键字 否则返回false
* 这个和敏感字符的检测不是一样的
*/
function Filter_SQL($strData)
{
$strFilter=$blnFlag=$arrayFilter='';

$strFilter="'|and|(|)|exec|insert|select|delete|update|count|*|%27|chr|mid|master|truncate|char|declare|union|or"; //需要过滤的字符,可以自己添,"|"是分隔符
$blnFlag=false; //过滤标志,如果产生过滤,那么就是真

$arr=explode("|",$strFilter);
$str="";

foreach($arr as $row)
{
$str.=preg_quote($row)."|";
}

$str=trim($str,"|");

if(preg_match('/'.$str.'/i',$strData,$word))
{
return $word[0];
}

return false;
}

/*
测试
$string="fasdf union ";
echo Filter_SQL($string);
*/

?>