IT用語集 › セキュリティ › SQL インジェクション

SQL インジェクション

セキュリティ Svenska → 更新: 2026-10-20

攻撃者がフォームに SQL コードを紛れ込ませ、データベースにそれを実行させる攻撃である。

古典的な例は、SELECT * FROM users WHERE name = '$name' というクエリを組み立てるログインフォームである。名前欄に ' OR 1=1 -- と入力されると、クエリは SELECT * FROM users WHERE name = '' OR 1=1 --' となり、全ユーザーが返される。

対策は常に同じで、プリペアドステートメント(パラメータ化クエリ)を使うことだ。ユーザー入力はデータであってコードではない。現代の言語はほぼすべて標準で対応している。

← 用語集に戻る