如果我们已经有[HttpPost],为什么需要使用JsonRequestBehavior?

时间:2015-06-09 02:42:05

标签: c# asp.net json asp.net-mvc

在ASP.NET MVC中,我们可以选择使用HTTPGET / HTTPPost保护我们的Controller操作。 对于Json请求,还有一个选项JsonRequestBehavior用于安全性。

JsonRequestBehavior有两个选项:

public enum JsonRequestBehavior
    {
        AllowGet = 0,
        DenyGet = 1,
    }

我的问题只是关于为什么JsonRequestBehavior.DenyGet如果我们可以使用HttpPost的清除?

1 个答案:

答案 0 :(得分:3)

DenyGet是MVC设置的默认设置,用于保护您免受使用HTTP GET返回数据的特定JSON请求攻击。

您需要手动决定添加AllowGet,这会强制您考虑通过HTTP GET方法公开的数据。

有关详细说明,您可以阅读此文章(稍微过时)http://haacked.com/archive/2009/06/25/json-hijacking.aspx/