【问题标题】:Logout Button Submitting Generates Potentially Dangerous Request.Form提交注销按钮会产生潜在危险的 Request.Form
【发布时间】:2014-11-14 08:25:22
【问题描述】:

我在每个页面上都有一个注销按钮。具有用于编辑帐户信息的表单的一个页面具有用于各种帐户信息字段的各种文本字段。如果用户输入一些 HTML(例如
标记)并单击注销,则会出现 Potentially dangerous request.form value was detected from the client 错误。这可能是因为表单正在提交,即使此时它还没有提交到我们的更新函数。

我该如何处理它,以便我可以告诉用户这是一个问题,或者只是删除 HTML?

【问题讨论】:

  • WebForms 整个页面不是只有一个“表单”吗?如果情况仍然如此,那么无论哪个按钮调用提交都无关紧要,因为表单值包含不允许的内容,所以正在发出“潜在危险请求”。
  • 是的,没错。那么如何删除该内容?它实际上并没有进入提交操作,因为它检测到危险内容并立即大喊大叫。
  • 我猜用户不应该首先提交该内容?完全禁用该错误可能是可能的,但这可能是不可取的。也许有一种方法可以为该特定错误显示更友好的错误消息?这可能至少需要挂钩到应用程序的全局错误处理程序,因为请求永远不会到达页面。
  • 是的,我想这就是我想知道的。我该如何处理它,以便我可以告诉用户这是一个问题,或者只是剥离 HTML?我会修改我的问题。

标签: c# asp.net webforms


【解决方案1】:

这是因为 .NET 在输入的文本中检测到一些看起来像 HTML 语句的内容。

为了禁用请求验证,我在该 .aspx 文件中的现有“页面”指令中添加了以下内容。

ValidateRequest="false"

但在 .net framework 4.0 中,您必须在 web.config 中设置 <httpRuntime requestValidationMode="2.0"/> 标记。

<system.web>
     <compilation debug="false" targetFramework="4.0" />
     <httpRuntime requestValidationMode="2.0"/>
</system.web>

【讨论】:

  • 假设我不想禁用请求验证。有没有一种简单的方法可以在抛出此错误时通知用户,而不是抛出令人讨厌的错误消息?
猜你喜欢
  • 2011-11-09
  • 2011-06-21
  • 2011-07-23
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
相关资源
最近更新 更多