SQLインジェクション

パラメータを操作して不正なデータベースクエリを発行させる。

Railsでの対策

  • railsではパラメータの文字列が自動でエスケープされる。
  • ただしwhereなど(条件フラグメント)については手動でエスケープする必要がある。
Model.where("login = ? AND password = ?", entered_user_name, entered_password).first