過去問解きまくり研究所 ホーム

平成30年度 春期 午前 問41

セキュリティ

SQLインジェクションの問題

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

答えと解説を見る

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

解説

問合せで特別な意味をもつ文字として解釈させません。

データベースを扱う仕組みでは、利用者が入力した文字列が、そのまま問合せ文の一部として組み立てられることがあります。このとき、問合せ文の中で区切りや命令の切れ目として働く文字が入力に混じっていると、開発者が意図しなかった操作まで実行されてしまいます。これが SQL インジェクションと呼ばれる攻撃の成り立ちでした。攻撃がこの一点を突いてくる以上、防ぐ側も同じ一点に手を当てます。つまり、入力された文字が、データベースへの問合せや操作において特別な意味をもつ文字として解釈されないようにしておくことです。だから、その手当てを述べた肢が当たります。判定の軸は、その手当てが効く先がデータベースへの問合せ文なのか、それとも別の場所なのかです。残る三つは、いずれも入力そのものへの手当てではありますが、効き目が及ぶ先が問合せ文ではありませんでした。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成30年度 春期 基本情報技術者試験 午前 問41

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)