セキュリティ関係の知識がぬるいのでちょっとお勉強。
知っていることもあるが復習もかねて勉強を。
SQLインジェクションとは?
SQLの不備を利用して、システムを攻撃されること。
具体的な攻撃方法はWikiが詳しい
被害
データベースを攻撃されることになるので個人情報の漏洩、データの改ざん
対策
- SQL文の組み立てはすべてプレースホルダで実装。(あるいは引数のすべてにエスケープ関数を使う)
- エラーメッセージをブラウザに表示しない。情報を与えない。
- エラーメッセージ自体はログに正常に吐く
- 正規表現チェックなど値のチェックを入れる
- データベースに適切なアカウントを与える(必要以上の権限を付与しない。なるべく必要最低限の範囲で済ませる。)
もっと詳しく知りたい場合は下記リンクで。
[…] SQLインジェクション […]