我知道有很多关于此主题的文章,但是,无论我如何努力(使用此类文章中的详细信息),我都无法从MVC 3中完全删除“请求验证”。

通过一个丑陋但简单的测试,我遵循了以下步骤:

  • 打开VS并创建一个新的示例MVC3 Internet应用程序。
  • 在 Controller Action 的每个上方,我放置了[ValidateInput(false)]属性。
  • 编辑根web.config,以便<httpRuntime requestValidationMode="2.0" /><system.web />部分中。

  • 现在这意味着我可以在字段中提交带有<script>之类的表单,但我仍然无法弄清楚如何允许Request.Paths诸如http://localhost/MySampleApp/Account/LogOn<script>

    如果我调用这样的URL,我仍然会收到“从客户端(

    有谁知道如何真正删除.Net 4.0上MVC 3中的所有请求验证?

    非常感谢,

    最佳答案

    您可能会发现following blog post很有用。我的个人建议是避免在您的url路径中使用此类字符(除非严格要求),并使用查询字符串参数将此类数据传输到服务器:

    http://localhost/MySampleApp/Account/LogOn?script=%3Cscript%3E
    

    关于asp.net-mvc - 无法在MVC 3中禁用 "...potentially dangerous Request.Path...",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6663373/

    10-09 09:44