0

私はここを読んでいます:あなたのmachine.configの最初のステップで設定するhttp://msdn.microsoft.com/en-us/library/ff649310.aspx#paght000004_step1 :

<system.web>
  <pages buffer="true" validateRequest="true" />
</system.web>

これは、[承認]フィルターを使用してmvc3ですでに処理されていますか?または、これをweb.configに配置する必要があります

4

2 に答える 2

1

次の属性を使用できます。

[ValidateInput(false)]
public ActionResult Index(string InputText)
{
    return View();
}

この記事も参照してください: ASP.NET MVC 3 での要求の検証について

于 2012-10-15T19:36:18.323 に答える
0

[Authorize] フィルターを使用すると、特定のアクション/コントローラーへのアクセスを選択したユーザーとロールに制限できます。

リクエストの検証は、基本的に、アクションで送信された値が潜在的に有害な html 文字列ではないことを主張します (それらをエンコードせずにページに戻すことは危険な場合があります)。属性 validateRequest="true/false" によって構成ファイルを使用して、グローバル レベルで要求の検証を制御できます。アクション フィルター ([ValidateInput(true/false)]) を使用して構成ファイルの設定をオーバーライドできます (他にもいくつかのオプションがあります)。

確かに、これら 2 つのことを関連付けることができます。どちらもある種の検証メカニズムとセキュリティ メカニズムです。それでも、両者は非常に異なるタイプの検証であり、どちらかというと独立したものと見なすべきです。

質問を振り返ると、web.config に validateRequest="true" を配置する必要があります (したがって、machine.config の設定に関係なく、要求の検証が行われます)。

于 2012-10-15T20:02:54.900 に答える