#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/
######第4章です。
- クライアントサイドの入力バリデーションに依存しない
- 制限された権限を持つデータベースユーザーを使用する
- プリペアドステートメントとクエリパラメータ化を使用する
- コードをスキャンしてSQLインジェクションの脆弱性を探す
- ORMレイヤーを使用する
- ブロックリストに依存しない
- 入力バリデーションを行う
- ストアドプロシージャに注意する
4.コードをスキャンしてSQLインジェクションの脆弱性を探す
カスタムコードを作るのは簡単でしょう。しかし、間違いが簡単に起こります。コードをチェックするために、コードレビューやペアプログラミングなどのプロセスを用意しているかもしれません。しかし、ペアでコードをレビューする人は、セキュリティに精通しているでしょうか。ペアの方は、あなたのコードにあるSQLインジェクションのバグを発見できるでしょうか。いずれにしても、SQLインジェクションのようなセキュリティ上の脆弱性の可能性がないか、カスタムコードを自動的に調べることができるに越したことはありません。Snyk CodeのようなSAST(Static Application Security Testing)ツールを使用し、SQLインジェクションなどのセキュリティ上の脆弱性がないかコードを自動的に検査することができます。たとえばGitリポジトリをSnykに接続することで、SDLCで簡単に自動化することが可能です。
4つめは以上です。
最後までお読みいただきありがとうございました!
######次回はSQLインジェクションを防ぐ 〜5に続きます。
SQLインジェクションに関する英語全原文はこちらです。
######Contents provided by:
Jesse Casman, Fumiko Doi, Content Strategists for Snyk, Japan, and Randell Degges, Community Manager for Snyk Global