ASP.NET 4.5从客户端检测到一个潜在危险的Request.Form值



我在一个用户控件上嵌入了一个所见即所得编辑器,该编辑器显然可以进入网页。当我提交页面时,我得到了"一个潜在危险的请求。从客户端检测到表单值"异常。在.NET的早期版本中,我只会关闭页面的ValidateRequest。

但是,在.NET 4.5中,它似乎具有ValidateRequestMode属性。当我将其设置为禁用时,我仍然会继续出现错误。目前还没有太多关于.NET 4.5错误的信息,所以有人知道解决方案吗?

提前谢谢。

我发现了这个问题。这与TinyMCE编辑器需要在读取和发布代码之前对内容进行编码有关。解决方案是按照m0s的建议通过javascript进行编码。TinyMCE有一个内置选项,您可以设置

encoding: "xml"

这是我设置的,但它没有编码撇号,我在内容中有撇号。因此,为了修复它,您必须将其添加到页面上的TinyMCE init函数中:

TinyMCE 3.x

setup: function (ed) {
    ed.onSaveContent.add(function (i, o) {
        o.content = o.content.replace(/&#39/g, "&apos");
    });
}

TinyMCE 4.x

setup: function(editor) {
    editor.on("SaveContent", function(i) {
        i.content = i.content.replace(/&#39/g, "&apos");
    });
}

我在这里找到了解决方案:http://blog.tentaclesoftware.com/archive/2012/05/21/asp-net-4-0-tinymce-and-ldquoa-potentially-dangerous-request.aspx

希望这能帮助到别人!

我通过在内容属性public virtual string content{ get; set; }之前添加[AllowHtml]解决了这个问题。

最新更新