web.config中的requestvalidationmode =“2.0”validaterequest =“false”无法正常工作

时间:2011-09-09 08:11:27

标签: c# .net asp.net .net-4.0

我正在寻求一些帮助,因为这让我发疯了。

我的页面上有一个tinyMCE文本编辑器,其中填充了已经以html形式存储在数据库中的内容。

例如。 <p>first paragraph</p> <p>second paragraph</p> 等等,没有任何问题。

但是当我在编辑器中进行更改然后尝试更新数据库中的内容时,我收到错误 从客户端检测到潜在危险的request.form值

我在web.config中进行了所有建议的更改

  • requestvalidationmode =“2.0”
  • validaterequest = “假”

但仍然从客户端错误中检测到具有潜在危险的request.form值。 这种情况发生在.NET 4.0中,任何帮助/建议都会很棒。

4 个答案:

答案 0 :(得分:6)

我甚至不会尝试在web.config文件中的站点级别启用此功能 - 只要您知道具体的输入数据是安全的,就在每页执行此操作:

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

您可以在模板中使用专门为此目的而暴露的Umbraco控件:

<umbraco:DisableRequestValidation runat="server" />

答案 1 :(得分:5)

您必须发布web.config部分,

应该是,

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

答案 2 :(得分:3)

已有类似话题。

ValidateRequest="false" doesn't work in Asp.Net 4

希望这会有所帮助。

答案 3 :(得分:0)

将此行添加到您的web.config文件中。

  <pages  validateRequest="false"></pages>