我在学习
CSRF prevention techniques
有人提到
Antiforgerytoken
是防止它的方法之一。在 ASP.NET MVC 应用程序中,我们可以使用 Html Helper 添加 token 。
当我使用 fiddler 时,我注意到隐藏表单输入标记中的 token 值与同名 Cookie 中的值不同。这是应该的样子吗?
在那种情况下,ASP.NET 框架如何注意发现请求不是伪造的。
希望我的问题很清楚。
最佳答案
有不同的数据集序列化为 cookie(“盐”和 token )和 HTML 标记(盐、 token 、创建时间、用户名)。它们不同但仍然具有可比性。
一些更详细的解释:
MVC的cookies有内部结构,所以序列化后的版本看起来不一样。里面的实际安全 token 应该是相同的。序列化程序存储不同的信息,具体取决于存在的信息(用户身份名称等)。还有一个版本字节,指示这是否是 session cookie 等。
关于c# - Html Antiforgerytoken cookie 和输入值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21352819/