优雅地处理潜在危险的请求



我接近启动我的第一个Umbraco网站,但刚刚通过最后一分钟的测试。

我尝试成为"黑客",并以我的搜索表格和联系表格输入危险的东西,该表格被大黄色错误页面阻塞,以下错误:

A potentially dangerous Request.Form value was detected from the client (Subject="test <b> 'haha").

我已经研究了此错误,并找到了许多解决方案,人们发布了禁用的方式,但我担心如果我这样做,它将允许恶意数据被发布,因为我没有(故意)有任何安全处理的地方。

我正在使用ucontactor作为接触表格,搜索设施基于此处的教程。

在我过去的经典ASP开发中,这只是HTML编码请求的一种情况(并替换了一些顽皮的角色,例如&lt; and> et等),但我希望以最佳的方式处理一些建议在ASP.NET MVC/UMBRACO网站上,此类内容对我来说仍然很新。

(我不想阻止人们进入这些东西,只是为了使网站安全,优雅地处理它)。谢谢。

此错误实际上发生在Umbraco上方的一个级别。在Umbraco运行之前,ASP.NET接收了这一点。

您可以在发现时将其关闭,但是该网站是否正确处理潜在的危险输入将取决于页面对数据的处理以及它们如何存储/渲染。

您可以按每个页面将其关闭,这样您就可以在可能需要提交无效字符的页面上允许它(例如,如果您有一个接受HTML的字段)。我会说这可能是更好的毛毯禁用它。这确实意味着减轻任何危险输入是您的。

这里的问题向您展示了如何禁用MVC中特定控制器方法的请求验证:

我无法关闭ASP.NET MVC控制器的请求验证

最新更新