小编典典

通过AJAX的ASP.net MVC AntiForgeryToken

ajax

我目前正在ASP.net中开发MVC应用程序。我正在使用AJAX.ActionLink在记录列表中提供删除链接,但是这是非常不安全的。我把这个:

<AcceptVerbs(HttpVerbs.Post)>

在函数上执行删除操作,这将阻止仅通过URL调用函数。但是,仍然存在的另一个安全漏洞是,如果我要制作具有以下内容的基本html页面:

<form action="http://foo.com/user/delete/260" method="post">
<input type="submit" />
</form>

仍然会在不同的位置执行帖子。

可以将AntiForgeryToken与AJAX ActionLink一起使用吗?如果是这样,这是一种安全的方法吗?我还没有意识到更多的安全漏洞吗?


阅读 213

收藏
2020-07-26

共1个答案

小编典典

我不特别了解AJAX ActionLink,但是可以从WebForms页面发布到具有[AcceptVerbs(HttpVerbs.Post), ValidateAntiForgeryToken]属性的MVC操作。

您可以使用反射来获取用于设置Cookie的MVC方法和用于MVC验证的匹配表单输入。

2020-07-26