問題本文
SQL インジェクション攻撃による被害を防ぐ方法はどれか。
選択肢
- ア.入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
- イ.入力に HTML タグが含まれていたら、HTML タグとして解釈されない他の文字列に置き換える。
- ウ.入力に上位ディレクトリを指定する文字列(../)が含まれているときは受け付けない。
- エ.入力の全体の長さが制限を超えているときは受け付けない。
正解
ア. 入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
解説
SQL インジェクション対策は、入力値が SQL 文の特別な意味(クォート、セミコロン等)として解釈されないようエスケープやプレースホルダで処理すること。
選択肢ごとの解説
- ア.特別な意味文字として解釈されないようにする=SQL インジェクション対策=正解。
- イ.これは XSS(クロスサイトスクリプティング)対策。
- ウ.これはディレクトリトラバーサル対策。
- エ.これは長さ制限による対策(バッファオーバフロー等)。
基本情報技術者試験 令和2年度 科目A 修了認定試験 の過去問一覧へ戻る・問41