問題
SQL インジェクション攻撃を防ぐ方法はどれか。
選択肢
- 1入力中の文字がデータベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
- 2入力に HTML タグが含まれていたら、HTML タグとして解釈されない他の文字列に置き換える。
- 3入力に上位ディレクトリを指定する文字列 (../) が含まれているときは受け付けない。
- 4入力の全体の長さが制限を超えているときは受け付けない。
正解
1. 入力中の文字がデータベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
詳しい解説を見る解説を閉じる
解説
SQL インジェクションは、入力値に含まれる引用符などの特殊文字を SQL 文の一部として解釈させて不正な操作を行う攻撃である。対策としては、特殊文字をエスケープしたりプレースホルダ(バインド機構)を用いて、入力値が SQL の構文として解釈されないようにする。よって「ア」が正しい。イはクロスサイトスクリプティング、ウはディレクトリトラバーサルへの対策である。(出典: 平成27年度 秋期 基本情報技術者試験 午前 問42)
一問一答
科目A 180問+科目B 60問