比較的完璧な php アンチ SQL インジェクション コード。多くの初心者が SQL インジェクションを経験しているので、必要な学生はそれを参照してください。
コードをコピー | |
/*************************** 説明: 渡された変数に不正な文字が含まれているかどうかを判断します $_POST、$_GET など 機能: アンチインジェクション *************************/ //フィルタリングされる不正な文字 $ArrFiltrate=array("'","or","and","union","where"); //エラー発生後にジャンプする 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[]=$値 } foreach($HTTP_GET_VARS as $key=>$value){ $ArrPostAndGet[]=$値 } } //検証開始 foreach($ArrPostAndGet as $key=>$value){ if (FunStringExist($value,$ArrFiltrate)){ echo ""; if (empty($StrGoUrl)){ echo ""; }その他{ echo ""; } 出る } } /*****************PHP インジェクションの防止を終了*****************/ ?> |