BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

Railsのモデル層バリデート

本を少しずつ読み進め中。Railsではモデルでのバリデーションが基本みたいだ。これは僕の好みで嬉しい。データの整合性が保証できるようになるからね。さすがORMを含むフルスタックなフレームワークというところか。https://bitarts.jp/blog/archives/000738.htmlけど、アプリケーションフレームワークはバリデーションをビューやコントローラで定義するものが多い。それはそれで必要なんだけど、画面単位のバリデートだけに頼ってしまうとセキュリティ用件などの非要求仕様を満たすことが難しい。バリデート漏れによってクロスサイトスクリプティングSQLインジェクションの餌食になりがちなのだ。こういうところは漏れをなくすためにフレームワークできちっとルール付けされていてほしい部分であり、Railsのような仕様は好ましいと思う。賛否両論あるところみたいだけど。 しかし、動的情報の出力時に明示的なサニタイズが必要なところはちょっと残念。Railsを使わない場合と比べてクロスサイトスクリプティング脆弱性を作りこんでしまうリスクに違いがない感じ。いい方法あるかな。