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

平成25年度 春期 午前 問40

セキュリティ

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

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

答えと解説を見る

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

解説

問合せの中で特別な意味を持たせないのが対策です。

SQL インジェクションは、利用者が入力した文字列が、データベースへの問合せ文の一部として解釈されてしまうことで起きます。入力の中に、文の区切りや命令として働く文字が混じっていると、組み立てた側が意図していない操作まで実行されてしまいます。したがって対策は、入力された文字がデータベースへ渡るときに、命令としてではなく、ただのデータとして扱われるようにすることです。判定の軸は一つで、その入力が最後にどこへ渡って解釈されるかです。四つの記述はどれも入力を検査したり加工したりする対策ですが、渡り先がそれぞれ違います。良い対策かどうかでは選べないので、渡り先が問合せ文になっているものを探します。

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

この問題の用語

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

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