【发布时间】:2018-09-19 14:12:36
【问题描述】:
我有一个带有防伪令牌的 MVC 5 View 表单。
我在 2 个不同的选项卡中打开了相同的 URL,并查看了页面源代码 我得到 2 个不同的 __RequestVerificationToken 表单令牌。
__RequestVerificationToken cookie 具有相同的值。
第一个浏览器标签:
<input name="__RequestVerificationToken" type="hidden"
value="JK3VfUNG8MbkWHRcUUoYoYuBEqYg1VZl38rT_Oje6WRpUHIKnRgVsaXX6K_qQMm5OXiw5UDjKlSppYBeEFZbvzKHCDndo_BXcZYkcnxL9E1" />
第二个浏览器标签:
<input name="__RequestVerificationToken" type="hidden" value="TFwq8uATFit48n63lm8AkWFw2uPCaAroIFYcjznF35tEbRc1vTyJaz3QDu4E_aIM85LcttBubeRqvxy-he0SMRQsTdtJwvvwQ_Adk1yWbVA1" />
显然,防伪令牌必须与防伪 cookie 一起验证。
但即使防伪 cookie 相同,防伪令牌的形式也不同。
如何在 POST 后成功执行两个页面?这里的解密是如何工作的?
提前致谢。
【问题讨论】:
-
这是 2 个单独的响应,因为我在 2 个不同的浏览器选项卡中打开了相同的 URL
-
您是否阅读了链接中的答案? (不确定您的评论与什么有关 - 没有区别)
-
对不起,我现在就看你的链接
-
@StephenMuecke 所以差异的原因在于令牌的
AdditionalData?
标签: c# asp.net-mvc csrf antiforgerytoken