C# 与mvc3中的validateRequest等效

C# 与mvc3中的validateRequest等效,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我在这里读到:在machine.config设置的第一步: <system.web> <pages buffer="true" validateRequest="true" /> </system.web> mvc3中是否已使用[Authorize]过滤器处理此问题?或者我还是应该把它放在我的web.config中,你可以使用属性: [ValidateInput(false)] public ActionResult Index(string Inp

我在这里读到:在machine.config设置的第一步:

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

mvc3中是否已使用[Authorize]过滤器处理此问题?或者我还是应该把它放在我的web.config中,你可以使用属性:

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

另请参阅本文:

使用[Authorize]过滤器,您可以将特定操作/控制器的访问权限限制为选定的用户和角色

请求验证基本上断言在实际操作中提交的值不是潜在有害的html字符串(将它们未编码放回页面可能是危险的)。您可以通过属性validateRequest=“true/false”使用配置文件在全局级别控制请求验证。您可以使用操作筛选器([ValidateInput(true/false)])覆盖配置文件设置(还有一些其他选项)

当然,您可以将这两件事联系起来,它们都是某种类型的验证和安全机制。不过,它们都是非常不同的验证类型,您应该将它们视为相当独立的东西


回顾您的问题,您应该将validateRequest=“true”放在web.config中(这样无论machine.config设置如何,您都可以进行请求验证)。

那么默认情况下,它已经验证了输入,无论是否更改了web.config?如果您不想验证输入,那么您可以使用上面写的内容?@anthonypliu默认情况下已启用验证,如果您发布例如
html
,您将收到异常
一个潜在危险的请求。从客户端检测到表单值