この記事では、PHP プログラマ向けに一般的に使用される基本的な SQL インジェクション防止コードをいくつか紹介します。安全でない SQL ステートメントやコマンドをカスタマイズして、プログラムの実行を判断して防止できます。
この記事では、PHP プログラマー向けに、一般的に使用される基本的な SQL アンチインジェクション コード をいくつか提供し、安全でない SQL ステートメントやコマンドをカスタマイズして判断し、プログラムの実行を阻止できます。
//フィルタリングされる不正な文字
$ArrFiltrate=array("'",";","union");
//入力されていない場合、エラー後にリダイレクトされる URL 、デフォルトはOne pageの前になります
$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 "";
}else{
echo "";
}
終了
}
}
?>