FE SUBJECT A
基本情報技術者 科目Aの問題解説
問題
SQLインジェクションへの対策として最も適切なものはどれか。
- イ プレースホルダを用いたSQLのパラメータ化
- ア バックアップ媒体を遠隔地に保管する
- ウ 画像ファイルの解像度を下げる
- エ DBの正規化を第1正規形に留める
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:プレースホルダを用いたSQLのパラメータ化
正解:プレースホルダを用いたSQLのパラメータ化
考え方:「SQLインジェクション対策」は,プレースホルダ(パラメタ化クエリ)を用い,入力値をSQLの命令ではなくデータとして扱うことで,入力に条件式や記号が混じってもSQL構造を変えられないようにする。
誤答の理由:遠隔地バックアップ・画像解像度・正規化の制限は,入力をSQLに埋め込む問題と無関係。
注意点:「入力をデータとして分離する(パラメタ化)」がSQLインジェクションの根本対策。文字列連結でSQLを組むのが危険の元。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。