本文へ移動
✓ 合格ドリル基礎から練習

情報セキュリティマネジメント / 条件・事例の練習

情報セキュリティマネジメント試験基礎・応用

条件を読む・根拠を説明する

SQL文と入力値の分離

条件を整理し、答えを選んでから解き方を確認しましょう。

利用者の検索語をSQL文字列へ連結している。SQLインジェクションの根本対策として適切なのはどれか。

答え・解き方を読む

プレースホルダを使い入力値をバインドする

考える順序

  1. 1入力をSQL構文の一部として解釈させない
  2. 2文の構造と値を分離して扱う
  3. 3パラメータ化された呼出しを全ての該当箇所へ適用

選択肢ごとの理由

  • 比較 · シングルクォート1文字だけを削除して全SQLを安全にできる

    SQLの文脈は多様で特定文字の削除だけでは構文混入を安全に防げません。

  • 正解 · プレースホルダを使い入力値をバインドする

    入力をSQL構文の一部として解釈させない。文の構造と値を分離して扱う。パラメータ化された呼出しを全ての該当箇所へ適用。

  • 比較 · SQLエラーを利用者へ表示しなければ根本的に解消できる

    エラー抑制は補助対策でありSQLの構造へ入力が混ざる問題を解消しません。

  • 比較 · ブラウザ側の入力チェックだけでSQL構文の混入を防ぐ

    ブラウザ側の検査を経由しない要求もあるので根本対策になりません。

学習アプリで条件・事例を5問 →

入力をSQLの命令として扱わせない

検索語をSQLの文字列へ直接つなぐと、入力が命令の一部として解釈される原因になります。プレースホルダは、SQLの構造と、そこへ渡す値を分けるために使います。

一つの検索画面を直しても、ほかの箇所に文字列連結が残れば対策は不十分です。IPAは静的プレースホルダを優先する考え方も示しています。入力文字数の制限やエラーメッセージの非表示だけでは、この構造上の問題は解消しません。

この解説の参考資料

資料の参照範囲:プレースホルダによる根本対策と静的バインドの位置付け。
資料本文の照合:2026年11月5日(AI支援)。

教材の作成・確認方法

関連する要点をまとめて読む

技術の入口の要点と練習一覧 →