【发布时间】:2015-08-06 20:40:04
【问题描述】:
我阅读了很多文章并进行了一些自己的测试,以及我从测试中看到的和源代码(IsCookieTokenValid and GenerateCookieToken - 你可以看到硬编码的IsSessionToken = true) ASP.NET Anti Forgery Token 是每个会话,而不是每个请求(或 POST 请求等)。因此存储在 cookie 中的令牌在用户会话期间保持不变。 但是表单上的标记会随着每次请求(页面刷新)而改变(它是新的)。
我检查了使用旧 form 令牌提交的表单是否仍然有效,并且它们仍然有效。那么,如果旧令牌仍然有效并且 cookie 中的令牌在用户会话期间保持不变,那么每次生成新表单令牌的意义何在?
我在代码中没有看到任何设置来更改此行为并使令牌“一次性”。唯一的选择或解决方案是删除 cookie,这将强制生成新的。正确的?还有其他想法吗?
【问题讨论】:
标签: asp.net asp.net-mvc