最近研究上了正则表达式,正则表达式是一种匹配字符串的工具,不过它非常强大,效率也很高。php虽然有庞大的函数库,但如果单靠php的系统函数写一个防SQL注入函数的函数就未免有点繁琐了。下面这个是我自己写的防SQL注入函数,可以去除特殊符号+*`/-$#^~!@#$%&[]'"、空格、换行符、制表符。应该可以过滤恶意sql查询语句和万能登录语句的输入。
function clean($str)
{
$str=trim($str);
$str=strip_tags($str);
$str=stripslashes($str);
$str=addslashes($str);
$str=rawurldecode($str);
$str=quotemeta($str);
$str=htmlspecialchars($str);
$str=preg_replace("//+|/*|/`|//|/-|/$|/#|/^|/!|/@|/%|/&|/~|/^|/[|/]|/'|/", "", $str);
//去除特殊符号+*`/-$#^~!@#$%&[]'"
$str=preg_replace("//s/", "", $str);
//去除空格、换行符、制表符
return $str;
}