応用情報に戻る
練習問題難易度: 2026年度

応用情報技術者 予想問題練習問題 第41問

問題

SQLインジェクション攻撃への対策として、最も有効なものはどれか。

選択肢

  1. 1クライアント側でJavaScriptによる入力検証のみ実施する
  2. 2プレースホルダ(バインド機構)を用いたパラメータ化クエリを使用する
  3. 3すべての通信をHTTPS化する
  4. 4パスワードを長くする

正解

2. プレースホルダ(バインド機構)を用いたパラメータ化クエリを使用する

詳しい解説を見る

解説

SQLインジェクションは、入力欄に攻撃用の文字列を紛れ込ませ、アプリケーションが組み立てるSQL文の構造を改変してデータの不正取得・改ざんを行う攻撃である。最も有効な対策はプレースホルダ(バインド機構)を用いたパラメータ化クエリで、SQL文の雛形を先に確定させてから入力値を純粋なデータとして割り当てるため、入力がSQLの構文として解釈される余地を構造的になくせる。クライアント側のJavaScriptによる入力検証は、ブラウザを介さず直接リクエストを送る攻撃者に容易に迂回されるため単独では対策にならない。HTTPS化は通信経路の盗聴・改ざん対策であり、サーバ内で実行されるSQL文の改変は防げない。パスワードの長さも無関係である。「文を組み立ててから値を入れる」のがプレースホルダの本質と覚える。

一問一答

全400問を繰り返し学習

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では応用情報の全3360問を分野別・難易度別に体系的に学習できます。応用情報技術者試験(AP)は IPA が実施する情報処理技術者試験のレベル3。午前 4択80問・午後 記述11問中5問選択、各60%以上で合格。テクノロジ・マネジメント・ストラテジの全分野から出題されます。