Html Antiforgerytoken cookie和输入值是不同的

ckv*_*ckv 5 c# security csrf

我在学习

CSRF预防技术

并且提到了

Antiforgerytoken

是阻止它的方法之一.在ASP.NET MVC应用程序中,我们可以使用Html Helper添加令牌.

当我使用fiddler时,我注意到隐藏表单输入标记中的标记值和同名Cookie中的值是不同的.这是怎么回事?

在这种情况下,ASP.NET框架如何确保发现请求不是伪造的.

希望我的问题很明确.

Paw*_*ger 7

有一组不同的数据序列化为cookie("盐"和令牌)和HTML标记(盐,令牌,创建时间,用户名).它们不同但仍具有可比性.

一些更详细的解释:

MVC的cookie具有内部结构,因此它们的序列化版本看起来不同.内部的实际安全令牌应该是相同的.序列化程序根据存在的信息(用户身份名称等)存储不同的信息.还有一个版本字节,指示这是否是会话cookie等.