本文章分享一个完整的实例来讲述了关于php防sql注入的代码,有需要的同学可以参考一下本文章啊。
代码如下 复制代码
/*************************
说明:
判断传递的变量中是否含有非法字符
如$_post、$_get
功能:
防注入
*************************/
//要过滤的非法字符
$arrfiltrate=array(',or,and,union,where);
//出错后要跳转的url,不填则默认前一页
$strgourl=;
//是否存在数组中的值
function funstringexist($strfiltrate,$arrfiltrate){
foreach ($arrfiltrate as $key=>$value){
if (eregi($value,$strfiltrate)){
return true;
}
}
return false;
}
//合并$_post 和 $_get
if(function_exists(array_merge)){
$arrpostandget=array_merge($http_post_vars,$http_get_vars);
}else{
foreach($http_post_vars as $key=>$value){
$arrpostandget[]=$value;
}
foreach($http_get_vars as $key=>$value){
$arrpostandget[]=$value;
}
}
//验证开始
foreach($arrpostandget as $key=>$value){
if (funstringexist($value,$arrfiltrate)){
echo ;
if (empty($strgourl)){
echo ;
}else{
echo ;
}
exit;
}
}
/***************结束防止php注入*****************/
?>