SQLインジェクション攻撃は、ユーザー入力のときに発生します 不適切にエンコードされています。通常、ユーザー入力は、ユーザーがクエリで送信するデータ、つまり$_GETの値です。 、$_POST 、$_COOKIE 、$_REQUEST 、または$_SERVER アレイ。ただし、ユーザー入力は、ソケット、リモートWebサイト、ファイルなど、他のさまざまなソースからも取得できます。したがって、実際には定数以外のすべてを処理する必要があります。 ('foobar'のように )ユーザー入力として 。
投稿したコードでは、 mysql_real_escape_string>
ユーザー入力をエンコード(=エスケープ)するために使用されます。したがって、コードは正しいです。つまり、SQLインジェクション攻撃を許可していません。
mysql_real_escape_stringの呼び出しを忘れがちです。 -そして、熟練した攻撃者にとっては1回で十分です!したがって、最新のPDO
を使用することをお勧めします。 プリペアドステートメント
adodbの代わりに。