• 締切済み

複文によるSQLインジェクションを防ぐには

複文によるSQLインジェクションを防ぐには、ユーザー入力値から「;(コロン)」を除去すればOKでしょうか? ご存知の方がいらっしゃいましたら教えてください。 よろしくお願いいたします。

みんなの回答

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

たとえば、 SELECT column1, column2 FROM table WHERE id = '(ここに値を入力)' という文があったとします この場合 (ここに値を入力) の部分に ' OR 1=1 OR id =' と入力されたらどうなりますでしょうか SELECT column1, column2 FROM table WHERE id = '' OR 1=1 OR id ='' こうなりますね さて、どうしましょう・・・ (*これは具体的な回答ではありません、自分で考えてみてください)

kinmojr
質問者

補足

すみません、私の書き方がまずかったのですが・・・。 SQLインジェクションを防ぐためにはクォテーション文字はエスケープする必要があると思いますが、今回は質問の意図を明確にするために複文によるSQLインジェクション以外は考慮していません。 複文によるSQLインジェクションという意味では、「;(コロン)」の除去でOKでしょうか?

関連するQ&A