asp.net-mvc - 无法在 MVC 3 中禁用 "...potentially dangerous Request.Path..."

标签 asp.net-mvc security

我知道有很多关于这个主题的帖子,但是无论我多么努力(使用这些帖子中的细节),我都无法从 MVC 3 中完全删除请求验证。

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

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

  • 虽然这现在意味着我可以提交类似 <script> 的表单。在现场,我仍然不知道如何允许 Request.Paths,例如 http://localhost/MySampleApp/Account/LogOn<script> .

    如果我调用这样的 URL,我仍然会收到 “从客户端 (<) 检测到潜在危险的 Request.Path 值。”

    有谁知道如何在 .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/

    相关文章:

    c# - 在洋葱架构中,我在哪里保存文件上传和计算的逻辑?

    c# - 无法加载文件或程序集 'System.Web.Razor' 或其依赖项之一

    security - 通过 SSL 传递时的 Cookie 安全性

    php - 在 PHP 代码中隐藏数据库登录信息

    php - 使用 PHP 进行加密的新手,请指导?

    asp.net-mvc - 在 MVC 中定义 html5 数据属性

    asp.net-mvc - 如何在 ASP.NET MVC 的同一页面中使用同一 .ascx 的两个实例?

    jquery - ASP.NET MVC 中的链接样式失败问题

    javascript - 事件跟踪类似于 Google 事件跟踪

    security - Cloud Firestore 安全规则使用的语言名称是什么?