基本情報技術者試験 過去問解説

プレースホルダとは?基本情報技術者試験 令和元年度 科目A 修了認定試験 問43を解説

基本情報技術者試験 令和元年度 科目A 修了認定試験 問43は、プレースホルダに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

安全な Web アプリケーションの作り方について、攻撃と対策の適切な組合せはどれか。

この問題の出題ポイント

  • プレースホルダの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: Webセキュリティ、SQLインジェクション。

選択肢

  1. 攻撃: SQL インジェクション/対策: SQL 文の組立てに静的プレースホルダを使用する。正解
  2. 攻撃: クロスサイトスクリプティング/対策: 任意の外部サイトのスタイルシートを取り込めるようにする。
  3. 攻撃: クロスサイトリクエストフォージェリ/対策: リクエストに GET メソッドを使用する。
  4. 攻撃: セッションハイジャック/対策: 利用者ごとに固定のセッション ID を使用する。

正解

: 攻撃: SQL インジェクション/対策: SQL 文の組立てに静的プレースホルダを使用する。

解説

SQL インジェクション対策として、静的プレースホルダ(バインド機構)を使用すれば、入力値が SQL 文の構造に影響しないよう適切に処理される。

なぜ他の選択肢が違うのか

  • ア(正解)

    SQL インジェクション対策として静的プレースホルダは適切=正解。

  • 任意の外部サイトのスタイルシート取込みはむしろ XSS の温床となる。

  • CSRF 対策に GET メソッドを使うのは不適切(GET は副作用なし操作に限定すべき)。

  • セッションハイジャック対策として固定セッション ID を使うのは不適切。

解き方の整理

プレースホルダの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。