0

一部のハッカーは私のデータベースにアクセスでき、バグを見つけるつもりです。サーバーログにアクセスできません。疑わしいクエリをテキストファイルに保存するために、このコードを作成しました。

function query($query) {
$file = 'sqllog.txt';
if(/* Which condition should i use to detect? */){
$contents = file_get_contents($file);
$contents.="\r\n";
$contents.=$query;
file_put_contents($file,$contents);
}
$this->theQuery = $query;
return mysql_query($query, $this->link);
}

SQLインジェクションの疑わしいクエリを検出するには、どの条件を使用する必要がありますか?

4

1 に答える 1

3

mysql_real_escape_stringコードベースでサニタイズされていない入力 (つまり を使用していないもの) を探す必要があります。パラメータをクエリに挿入する直前に、この関数を呼び出すのが理想的です。

または、PDO を使用して準備済みステートメントに切り替えることを検討してください。そうすれば、SQL インジェクションはもはや問題になりません。

于 2012-10-19T18:20:17.473 に答える