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