@ Html.AntiForgeryToken()有什么用?

Mhd*_*Mhd 31 asp.net-mvc html.beginform

我们为什么需要使用@Html.AntiForgeryToken()?我搜索但没有得到满意的答案.

Dyn*_*kus 72

这是一项安全功能,可帮助保护您的应用程序免受跨站点请求伪造.

例:

让我们假设您的Web应用程序中有一个注册功能.您有一个AccountController(somename.com/account/register),您希望人们提交他们的信息.通常在有人发布注册信息之前需要访问实际(somename.com/account/register)而不是提交表单.

假设我是一个坏人,我想用垃圾信息充斥您的服务器我只需要直接发布到(somename.com/account/register)而不访问您的网站.所以为了阻止我你实现AntiForgeryToken所以你可以确保我在浏览注册信息之前访问了该页面.

另一个例子是(http://www.binaryintellect.net/articles/20e546b4-3ae9-416b-878e-5b12434fe7a6.aspx)


小智 10

这是为了防止您的MVC应用程序中的跨站点请求伪造.这是OWASP Top 10的一部分,在网络安全方面至关重要.使用@ Html.AntiforgeryToken()方法将为每个请求生成一个令牌,因此没有人可以伪造表单帖子.


小智 7

有什么用@Html.AntiForgeryToken()

现场 - 场景:

假设您登录了您的银行帐户,并准备向您的朋友转账一些钱。黑客知道您已登录,也知道汇款提交的 URL。突然,你收到一封电子邮件并查看它。您看到一个图像,但错误地单击了该图像。然后,大约一分钟后,您会收到另一条消息,说明已从您的帐户中扣除了一些金额。实际上,该图片是由黑客发送的,并且在该图片的后面,您点击时已提交了一个 URL。

以便我们AntiForgeryToken()在应用程序中使用防止黑客。