テクノロジ系 / セキュリティ
SQLインジェクション対策(プレースホルダほか)
SQLインジェクション対策は、利用者入力をSQL文として不正に解釈させないための防御策です。
もう少し詳しく
代表的な対策はプレースホルダやプリペアドステートメントを使い、入力値をSQL文の一部として連結しないことです。入力チェックやエスケープも補助的に使われますが、文字列連結でSQLを組み立てる設計自体を避けることが重要です。
試験での見方
例:"SELECT * FROM users WHERE id = " + 入力値 のように連結せず、WHERE id = ? として値を後からバインドします。
SQLインジェクション対策では、パスワード暗号化や通信暗号化ではなく、SQL文の組立て方に注目します。「プレースホルダ」「バインド変数」「プリペアドステートメント」が正答になりやすいです。