本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説

テクノロジ系 標準 fe_a_s001_q010

問題

SQLインジェクションへの対策として最も適切なものはどれか。

  1. プレースホルダを用いたSQLのパラメータ化
  2. バックアップ媒体を遠隔地に保管する
  3. 画像ファイルの解像度を下げる
  4. DBの正規化を第1正規形に留める
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:プレースホルダを用いたSQLのパラメータ化

正解:プレースホルダを用いたSQLのパラメータ化

考え方:SQLインジェクションは,入力文字列をSQL文の一部として解釈させ,条件式や命令を差し込む攻撃。プレースホルダを使うと,入力値はSQL命令ではなく単なるデータとして渡されるため,SQLの構造を変えにくくできる。

誤答の見分け方:遠隔地バックアップは災害対策,画像の解像度変更は容量調整,正規化の制限はDB設計の話で,SQL文への不正な文字列注入を防ぐ対策ではない。

押さえるポイント:文字列連結でSQLを組み立てないことが基本。入力チェックだけに頼るより,パラメータ化クエリで命令部分とデータ部分を分離する。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

RELATED

関連問題