ホームページ >バックエンド開発 >PHPチュートリアル >php アンチインジェクション_PHP チュートリアル
/*****************************
説明:
渡された変数に不正な文字が含まれているかどうかを判断します
$_POST、$_GET など
機能:
アンチインジェクション
**************************/
//フィルタリングされる不正な文字
$ArrFiltrate=array("''''",";","union");
//エラー発生後にジャンプするURL。入力しない場合は、前のページがデフォルトになります
$StrGoUrl="";
//配列に値があるかどうか
関数 FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as $key=>$value){
If (エレギ($value,$StrFiltrate)){
true を返します;
}
}
false を返します;
}
//$_POST と $_GET をマージします
if(function_exists(array_merge)){
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}その他{
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 (空($StrGoUrl)){
echo "";
}その他{
echo "";
}
終了します;
}
}
?>
checkpostandget.php として保存します
次に、各 php ファイルの前に include("checkpostandget.php"); を追加します。