基本情報トップに戻る
練習問題難易度: 標準2015年度

基本情報技術者 過去問練習問題 第42問

問題

SQL インジェクション攻撃を防ぐ方法はどれか。

選択肢

  1. 1入力中の文字がデータベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
  2. 2入力に HTML タグが含まれていたら、HTML タグとして解釈されない他の文字列に置き換える。
  3. 3入力に上位ディレクトリを指定する文字列 (../) が含まれているときは受け付けない。
  4. 4入力の全体の長さが制限を超えているときは受け付けない。

正解

1. 入力中の文字がデータベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。

詳しい解説を見る

解説

SQL インジェクションは、入力値に含まれる引用符などの特殊文字を SQL 文の一部として解釈させて不正な操作を行う攻撃である。対策としては、特殊文字をエスケープしたりプレースホルダ(バインド機構)を用いて、入力値が SQL の構文として解釈されないようにする。よって「ア」が正しい。イはクロスサイトスクリプティング、ウはディレクトリトラバーサルへの対策である。(出典: 平成27年度 秋期 基本情報技術者試験 午前 問42)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

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

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。