SQLを用いてデータベースを扱うWebアプリケーションは、SQL注入を許さないようにする必要がある。SQL注入攻撃対策のうち、まずは実装における対策について述べる。 文脈に応じた特殊記号対策はコマンド注入攻撃対策と同様である。加えて、プリペアードステートメントの使用や言語の選択による対策を説明する。 「SQL注入(SQL injection)」は、パラメータを埋め込んでSQL文を組み立てる場合、そのパラメータに特殊記号(記号)を含ませたSQLコマンドを与えることによって、データベースの不正操作が可能となってしまう問題である。 参考: CWE-89: Improper Neutralization of Special Elements used in an SQL Command(日本語訳) SQL注入攻撃のメカニズム ここに、次のようなSQL文を使用したログイン判定プログラムがあるとする