Html Antiforgerytoken cookie和输入值是不同的

时间:2014-01-25 16:02:15

标签: c# security csrf

我正在学习

  

CSRF预防技术

并且提到了

  

Antiforgerytoken

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

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

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

希望我的问题很明确。

1 个答案:

答案 0 :(得分:7)

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

更详细的解释:

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

相关问题