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

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

問題

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

選択肢

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

正解

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

詳しい解説を見る

解説

SQLインジェクションは、入力値に含まれるSQLの特殊文字(シングルクォートなど)がSQL文の一部として解釈されることで起きる。これを防ぐには、特殊文字を無害化(エスケープ)したり、プレースホルダを使って入力をSQLの構文として解釈させないようにする(ア)。イはXSS対策、ウはディレクトリトラバーサル対策である。(出典: 平成25年度 春期 基本情報技術者試験 午前 問40)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

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

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