【问题标题】:System.Web.HttpException: A potentially dangerous Request.Path value was detected from the client (&)System.Web.HttpException:从客户端检测到潜在危险的 Request.Path 值 (&)
【发布时间】:2011-12-25 13:09:32
【问题描述】:

我从一个公开托管的网站收到此消息:

System.Web.HttpException:有潜在危险的 Request.Path 值 已从客户端 (&) 检测到。

我已阅读有关使用的文章:

<httpRuntime requestPathInvalidCharacters="" />

不确定如何合并或解决这些类型的潜在危险请求。我可能不明白一些事情。

感谢您的帮助理解...

【问题讨论】:

标签: c# asp.net url routing


【解决方案1】:

尝试在页面指令中设置ValidateRequest="false"。根据您使用的 ASP.NET 版本,您可能还需要添加以下 web.config 设置:

<httpRuntime requestValidationMode="2.0" />

重要提示

通过禁用默认请求验证,您应该准备好在您的逻辑中手动检测和处理潜在的恶意内容。

【讨论】:

  • 我使用的是 4.0.你能告诉我 ValidateRequest 和 requestValidationMode 是做什么的吗?
  • 好的,那么您可能需要web.config 设置。
  • ValidateRequest 确定 ASP.NET 是否应检查来自浏览器的输入是否存在潜在危险值。例如,如果输入包含任何类型的标记,请求验证将引发异常。
  • 所以我不想允许有潜在危险的请求。所以我不想在页面指令中关闭 ValidateRequest,对吗?我正在尝试确定我是否需要为此做任何特别的事情,或者离开我的方式是否可以(不允许危险的请求)。我的 webconfig 目前没有 requestValidationMode。
  • @JamesJohnson:仅仅因为您看到此错误并不意味着您应该关闭请求验证!您是否认为这些请求可能是恶意的?如果它们无效,Web 应用程序应该如何处理它们?
猜你喜欢
  • 2012-04-06
  • 2017-10-07
  • 2011-08-06
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
相关资源
最近更新 更多