4

Spring Roo で新しいプロジェクトを開始しています。私は、それが生成する MVC コントローラーが大量代入に対して脆弱であることを発見しました。特定のフィールドのみが更新されるのを許可する標準的な方法があるのだろうか。@InitBinder の使用を考えていますが、それが最善のアプローチかどうかはわかりません。

私が知っているほとんどの Java EE フレームワークでは、この問題と CSRF 防止が見過ごされている印象があります。さらに悪いことに、これらの脆弱性は多くの場合、独自のサンプル コードにも見られます。

補足: 私はすでに HDIV を知っていますが、CSRF 防止を除いて、素敵な REST URL を「醜く」したくありません。

4

1 に答える 1

1

この問題に対する適切な解決策はありません。オプション:

  • フォーム内のものだけのフィールドを持つフォームまたは DTO オブジェクトを作成します (ただし、Spring Roo ではうまく機能しません)。
  • オブジェクトの 2 つのインスタンス、フォーム インスタンスとデータベース インスタンスを使用し、フォーム ページにあったフィールドのみをフォーム インスタンスから db インスタンスにコピーします。

この記事は、質量割り当ての問題を解決するのに役立ちます: http://blog.42.nl/articles/leveraging-the-spring-mvc-3.1-handlermethodargumentresolver-interface/

于 2012-09-02T10:13:28.437 に答える