FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
SQLインジェクションへの対策として最も適切なものはどれか。
- イ プレースホルダを用いたSQLのパラメータ化
- ア バックアップ媒体を遠隔地に保管する
- ウ 画像ファイルの解像度を下げる
- エ DBの正規化を第1正規形に留める
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:プレースホルダを用いたSQLのパラメータ化
正解:プレースホルダを用いたSQLのパラメータ化
考え方:SQLインジェクションは,入力文字列をSQL文の一部として解釈させ,条件式や命令を差し込む攻撃。プレースホルダを使うと,入力値はSQL命令ではなく単なるデータとして渡されるため,SQLの構造を変えにくくできる。
誤答の見分け方:遠隔地バックアップは災害対策,画像の解像度変更は容量調整,正規化の制限はDB設計の話で,SQL文への不正な文字列注入を防ぐ対策ではない。
押さえるポイント:文字列連結でSQLを組み立てないことが基本。入力チェックだけに頼るより,パラメータ化クエリで命令部分とデータ部分を分離する。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。