【问题标题】:Umbraco 7 MVC - Request.Form gives me dangerous request errorUmbraco 7 MVC - Request.Form 给了我危险的请求错误
【发布时间】:2018-02-23 08:54:46
【问题描述】:

在我网站的购物篮中,我需要允许来自第三方服务的 XML 表单 POST。

我能找到的可能解决方案是针对 webforms 和

有人知道在 MVC 中使用控件<umbraco:DisableRequestValidation runat="server"/> 的等效方法吗?

【问题讨论】:

    标签: asp.net-mvc umbraco


    【解决方案1】:

    出于安全原因,我建议尝试在包含 xml 内容的属性上使用 [AllowHtml]

    所以说你的 viewmodel 有属性调用 ThirdPartyContent 这将有 xml:

        public class VM
        {
            public string Name { get; set; }
            [AllowHtml]
            public string ThirdPartyContent { get; set; }
        }
    

    此隐式状态您知道哪个属性将包含潜在的恶意内容(即尖括号)

    [ValidateInput(false)] 可以解决问题,但会假设所有属性都可能包含可能不是好事的 xml 内容

    更多信息查看此 SO 答案,其中说明了 [AllowHtml][ValidateInput(false)] 之间的区别

    ValidateInput(false) vs AllowHtml

    【讨论】:

      【解决方案2】:

      我找到了自己问题的答案。 可以在 RenderMvcControllers 上设置[ValidateInput(false)] 注释。所以你可以根据文档类型来做这件事,这还不错。

      我会在这里留下答案,以防其他人需要做同样的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-09
        • 2016-04-19
        • 2016-03-13
        • 2011-06-21
        相关资源
        最近更新 更多