0

ここで説明されているようなものが必要でした(部分ビューを文字列にレンダリングする方法で、他のデータと一緒にJsonResultとして渡すことができます)

ビューを文字列としてレンダリングする

一番上の答えはうまくいっているようですが、これが XSS CSS インジェクションのベクトルを開くかどうか疑問に思っていますか?

もしそうなら、結果を返す前にHTMLエンコードしてそれを防ぐのと同じくらい簡単でしょうか?

4

1 に答える 1

2

Json、HTML 部分ビューを使用しているかどうかにかかわらず、HTTP POSTアクションは XSS 防御を提供する必要があります。これは、Get に同じトークンが提供されたことを意味します。通常はRazorで...トークンが追加され、POSTアクションでチェックされます。

Html.BeginForm
 @Html.AntiForgeryToken()



 [HttpPost]
 [ValidateAntiForgeryToken]
  public AResultTypeHere SomeActionMethod(myModel model)

または、独自の非表示フィールドを使用して、いくつかのチェックを実装します。はい、HTTP 投稿が保護されていることを確認してください。 http://www.veracode.com/security/xss をスターターとして。

このトピックに関する MVC ベースの資料もあり ます。

于 2012-12-16T10:46:25.753 に答える