如果我们已经有了[HttpPost],为什么还需要使用JsonRequestBehavior ?
本文关键字:为什么 JsonRequestBehavior 我们 HttpPost 如果 | 更新日期: 2023-09-27 17:54:21
. NET MVC我们可以选择使用HTTPGET
/HTTPPost
来保护我们的控制器的动作。对于Json请求,有一个额外的选项给JsonRequestBehavior
的安全性。
其中JsonRequestBehavior有两个选项:
public enum JsonRequestBehavior
{
AllowGet = 0,
DenyGet = 1,
}
我的问题是,如果我们可以使用HttpPost
,为什么会有JsonRequestBehavior.DenyGet
?
DenyGet是MVC设置的默认设置,用于保护您免受使用HTTP GET返回数据的特定JSON请求攻击。
您需要手动决定添加AllowGet,这迫使您考虑通过HTTP GET方法公开的数据。
关于详细的解释,你可以阅读这个(有点过时的)帖子:http://haacked.com/archive/2009/06/25/json-hijacking.aspx/