spring 安全性使用哪种机制来处理 CSRF 令牌

Which mechanism to use for CSRF token handling with spring security

我不熟悉 Web 安全和使用 spring-security 实现相同的功能。一个重要的概念是使用 CSRF 令牌防止 CSRF。 Spring security提供了两种管理CSRF token的方法

但是我无法理解应该使用哪一个,因为我可以看到这两种方法的缺点。

所以请大家告诉我我上面的理解是否正确。如果正确,我们需要哪个选项 select 来实现 csrf 令牌。

However as per my understanding, setting http only as false is not recommended as malicious script can also read the cookie and share the same token in the forged request.

如果 a) 您的网站存在 XSS 漏洞或 b) 您没有设置 cookie 的域,我相信这会是正确的。你剩下的问题对我来说似乎 opinion-based。

however recommendation is to go for stateless application.

注意:以下仅是我对此事的看法,因为一般来说很难争论for/against无国籍。

这是一个安全需要状态的示例,因此为了保护 csrf 令牌并避免您对 cookie 的担忧,您需要服务器上的状态并且应该选择会话。