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