基本情報技術者試験 基本情報技術者試験 令和2年度 科目A 修了認定試験 午前 問41: SQL インジェクション攻撃による被害を防ぐ方法はどれか。

基本情報技術者試験 令和2年度 科目A 修了認定試験
Q 4141 / 80
SQL インジェクション攻撃による被害を防ぐ方法はどれか。
この問の正解率:38.44%(653件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

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

選択肢

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

正解

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

解説

SQL インジェクション対策は、入力値が SQL 文の特別な意味(クォート、セミコロン等)として解釈されないようエスケープやプレースホルダで処理すること。

選択肢ごとの解説

  • .特別な意味文字として解釈されないようにする=SQL インジェクション対策=正解。
  • .これは XSS(クロスサイトスクリプティング)対策。
  • .これはディレクトリトラバーサル対策。
  • .これは長さ制限による対策(バッファオーバフロー等)。

基本情報技術者試験 令和2年度 科目A 修了認定試験過去問一覧へ戻る・問41