Rumah > php教程 > php手册 > php sql通用防注入系统

php sql通用防注入系统

WBOY
Lepaskan: 2016-05-25 16:40:45
asal
1242 orang telah melayarinya

本文章提供这款防sql注入代码是一款php sql双过滤非法字符的函数,他可以根据用户自定的防sql注入,先是过滤一些sql命令,再是就是把post get 过滤一次,最好验证.

php防注入代码如下:

$arrfiltrate=array("update","delete","selert","drop","exec","cast","'","union"); 
//出错后要跳转的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 (emptyempty($strgourl)){ 
            echo " "; 
        }else{ 
            echo " "; 
        } 
        echo "<script>alert(&#39;系统检测到非法字符!&#39;);history.back();</script>"; 
        exit(); 
    } 
}
Salin selepas log masuk


永久地址:

转载随意~请带上教程地址吧^^

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan