パラメータ化されたクエリについては知っていますが、ユーザー入力をクリーンアップするためにこの方法を使用した古いサイトがいくつかあります。
<?
mysql_query( sprintf( 'SELECT col1 FROM table1 WHERE id = %d', $tainted ) );
?>
の周りに引用符がないことに注意してください%d
。$tainted
そのようなクエリが予期しない結果をもたらす可能性がある値はありますか? 構文エラーを出すのは簡単ですが、私はそれについてあまり気にしません。
同様の UPDATE クエリと DELETE クエリにも同じ方法を使用しました。わざわざ戻って古いクエリをすべて修正する必要がありますか、それとも脆弱性はありませんか?