在web.config中使用requestvalidationmode="2.0" validaterequest="false"无效,如何解决?

9

我需要一点帮助,因为这让我疯了。

我的页面上有一个tinyMCE文本编辑器,其中包含已存储在数据库中的html内容。

例如: <p>第一段</p> <p>第二段</p> 等等,没有任何问题。

但是,当我更改编辑器中的内容,然后尝试更新数据库中的内容时,我会收到错误消息来自客户端的潜在危险的 request.form 值

我在web.config中进行了所有推荐的更改:

  • requestvalidationmode="2.0"
  • validaterequest="false"

但仍然收到来自客户端的潜在危险的 request.form 值错误。这发生在.NET 4.0中,任何帮助/建议都将不胜感激。


查看此链接:http://stackoverflow.com/questions/3072950/validaterequest-false-and-net-4-problem - V4Vendetta
4个回答

7

我甚至不会尝试在web.config文件中全站启用此功能,只需在每个页面上进行操作,当您明确知道输入数据是安全的时候:

<%@ Page ... ValidateRequest="false" %>

您可以在模板中使用专门为此目的暴露的Umbraco控件,例如:
<umbraco:DisableRequestValidation runat="server" />

有点像是上面的问题。我正在使用Umbraco CMS,需要在页面顶部添加<umbraco:DisableRequestValidation ID =“DisableRequestValidation1”runat =“server”/>以获得相同的效果。 - Tom Maton
@Grant Thomas,你能给我你的博客链接吗?谢谢。 - tatigo
4
不是对问题的回答。问题为什么在 web.config 中无法运行,这个问题没有得到解答。 - Erik Dekker

5

你需要发布web.config的部分内容,

应该是这样的,

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

3

1
在你的 web.config 文件中添加这行代码。
  <pages  validateRequest="false"></pages>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接