jQuery ASP.NET MVC JSON调用是否可被破解?

jQuery ASP.NET MVC JSON调用是否可被破解?,jquery,ajax,antiforgerytoken,Jquery,Ajax,Antiforgerytoken,我有一个基本的JsonResult方法,在我的视图中由jQuery$.ajax调用调用 [AcceptVerbs(HttpVerbs.Post)] public JsonResult DoWork(string param1) { // do something important return Json(); } 所以我的问题是,这个方法能被调用/黑客攻击并传递错误的数据吗?假设是在系统中创建一个新用户。我可以假装用这个方法

我有一个基本的JsonResult方法,在我的视图中由jQuery$.ajax调用调用

    [AcceptVerbs(HttpVerbs.Post)]
    public JsonResult DoWork(string param1)
    {
        // do something important 

        return Json();
    }

所以我的问题是,这个方法能被调用/黑客攻击并传递错误的数据吗?假设是在系统中创建一个新用户。我可以假装用这个方法打电话吗?我应该如何使用某种防伪令牌或任何东西来保护此方法?

是的。可以像调用任何其他公共控制器操作一样调用此方法

是的,你应该保护它。任何人都可以调用此方法,并传递他们想要的任何值。你应该始终不信任你收到的数据

当然,您可以使用Authorize属性保护它:

[Authorize(Roles='...')]
或使用任何其他方法来识别和授权用户

编辑:

以前的链接不再有效。有关Ajax中防伪令牌的更多信息,请检查以下问题:


不过我还没有对此进行测试。

是的,但假设我没有定义角色,那么我是否可以使用防伪令牌?没有角色,你怎么知道谁可以添加用户,谁不可以?我只是举一个添加用户的示例。我无法保护它,因此我知道它是作为合法请求从视图中发出的?这里有一篇文章可能会对您有所帮助:@Pbrikoff-您发布的链接似乎不再有效。其中一张展示了分娩的图形描述。。。不是我希望找到的AntiForgeryToken信息。相关:在MVC3中攻击(或阻止)JSON攻击