以下是防
注入代碼,具體什麼是注入可以參考該
PDF文檔,點擊
下載PHP+MySQL注入專題 ,推薦
PDF閱讀器下載。
<?
/*************************
說明:判斷傳遞的變量中是否含有非法字符如$_
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 "<scr
ipt language='javascript'>alert('
傳遞的信息中不得包含{\',or,and,union}
等非法字符請您把他們換成{‘,
OR,
AND,
UNION}');</script>";
if (empty($StrGoUrl)){
echo "<scriptlanguage='Javascript'>history.go(-1);</script>";
}else{
echo "<scriptlanguage='Javascript'>window.location='".$StrGoUrl."';</script>";
}
exit;
}
}
/***************
結束防止PHP
注入*****************/
?>