Session 当已经实施csrf保护时,使用会话id的目的是什么?

Session 当已经实施csrf保护时,使用会话id的目的是什么?,session,cookies,token,csrf,sessionid,Session,Cookies,Token,Csrf,Sessionid,我知道,要保护web应用程序免受跨站点请求伪造,唯一安全的方法是实现CSRF令牌。我的问题是,是否也可以使用CSRF令牌来跟踪会话?我们为什么要实现不同的会话id来跟踪会话?CSRF令牌是一个值,必须随机生成,并与每个GET中的会话(用户)关联,该GET显示一个表单以防止错误发布。此错误帖子也来自用户浏览器,因此,要对帖子进行身份验证,需要使用存储在服务器内存中的令牌进行会话,以比较帖子附带的令牌是否与存储在用户会话中的令牌相同 此外,web应用程序在GET和CSRF令牌中识别用户的shuold

我知道,要保护web应用程序免受跨站点请求伪造,唯一安全的方法是实现CSRF令牌。我的问题是,是否也可以使用CSRF令牌来跟踪会话?我们为什么要实现不同的会话id来跟踪会话?

CSRF令牌是一个值,必须随机生成,并与每个GET中的会话(用户)关联,该GET显示一个表单以防止错误发布。此错误帖子也来自用户浏览器,因此,要对帖子进行身份验证,需要使用存储在服务器内存中的令牌进行会话,以比较帖子附带的令牌是否与存储在用户会话中的令牌相同

此外,web应用程序在GET和CSRF令牌中识别用户的shuold需要仅在POST中

由于HTTP的断开连接特性,会话需要是静态的,以识别用户和多个请求。CSRF在每次GET中都会发生变化,它不能像会话一样使用

另一方面。服务器应该如何处理您的想法?是否在每次获取时创建新会话,并将以前的所有会话数据复制到新会话?这太疯狂了


看看蒙大拿州立大学。这有助于我理解CSRF。

“CSRF令牌仅在POST中”错误!我认为你关于csrf令牌的整个想法都是错误的。简单回答:会话需要是静态的,以便在一段时间内识别用户。CSRF在每次GET中都会发生变化,所以如果您重复使用CSRF令牌,就像您的会话出错一样。据我所知,CSRF令牌可以在url或POST正文内容中发送。为了安全起见,我们使用POST。但这不是问题所在。我们不能简单地使用CSRF令牌作为会话标识符吗?即使它们是随机字符,服务器仍然知道特定会话中用户的值?这些信息不能用于会话标识吗?@jlvaquero您可以在cookie中发送CSRF令牌,以使用ajax get。有很多方法可以使用CSRF,不仅仅是在POST@Anonymous但是如果每次生成新的CSRF令牌时都将会话信息存储在服务器端(RAM内存、redis等),那么您就是在创建一个新的会话ID。因此,您必须将所有这些信息移动到新会话。由于您在web应用程序lifecicle中生成了大量CSRF令牌,因此这不是一个好主意。