我不确定这是MVC框架上的“功能”还是错误。
在使用[ValidateAntiForgeryToken]属性实现一些操作时,我注意到虽然在视图上, _ RequestVerificationToken 隐藏文本字段发生了变化每次重新加载页面时,Cookie _RequestVerificationToken_Lw __ 始终保持相同的会话长度,即所有视图都将使用相同的Cookie值比较。
从我可以收集的内容来看,视图上的值是不同的,因为它每次都会被加密,但实际上,就像cookie一样,它也与会话长度的cookie相同。
我的问题是。我们不应该强制这个cookie为每个不同的请求具有不同的值吗?
我原本以为在会话期间保持相同的cookie值是一个安全风险,因为恶意黑客可以抓住它并且我们的CSRF(跨站点请求伪造)预防措施将会失控
是否有办法强制此Cookie为每个请求获取不同的值?
答案 0 :(得分:2)
该cookie仍然是三管齐下保护的一部分。
他们必须
考虑到这一点并使用ssl(你应该总是使用它!),因为令牌不是一次性使用令牌,你的保护级别可能不会改变。