<?php 
/************************* 
說(shuō)明: 
判斷傳遞的變量中是否含有非法字符 
如$_POST、$_GET 
功能: 
防注入 
*************************
*/ 

//要過(guò)濾的非法字符 
$ArrFiltrate=array("'",";","union"); 
//出錯(cuò)后要跳轉(zhuǎn)的url,不填則默認(rèn)前一頁(yè) 
$StrGoUrl=""
//是否存在數(shù)組中的值 
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
   } 


//驗(yàn)證開(kāi)始 
foreach($ArrPostAndGet as $key=>$value){ 
   
if (FunStringExist($value,$ArrFiltrate)){ 
       
echo "<script language=\"javascript\">alert(\"非法字符\");</script>"
       
if (empty($StrGoUrl)){ 
       
echo "<script language=\"javascript\">history.go(-1);</script>"
       }
else
       
echo "<script language=\"javascript\">window.location=\"".$StrGoUrl."\";</script>"
       } 
       
exit
   } 

?>