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

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

問題

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

選択肢

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

正解

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

詳しい解説を見る

解説

SQLインジェクションは、利用者の入力値に SQL 文として特別な意味をもつ文字(クォートやセミコロンなど)を混入させ、データベースへの問合せや操作を改ざんする攻撃です。これを防ぐには、入力値が SQL の構文として解釈されないようエスケープ処理やプレースホルダ(バインド機構)を用いるのが基本で、アが正解です。イはクロスサイトスクリプティング、ウはディレクトリトラバーサルへの対策であり、エの長さ制限だけでは SQL インジェクションは防げません。(出典: 平成30年度 春期 基本情報技術者試験 午前 問41)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

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

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