Spring security中每个请求不同的csrf令牌

2024-03-10

我在用<csrf/>我的 web 项目的 spring security xml 文件中的标记。并以以下形式发送 csrf 令牌:

<form action="" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>

但是在通过 BurpSuite 拦截请求时,我在每个请求上都获得相同的 csrf 令牌,直到会话持续存在。

有什么方法可以在 Spring Security 中为每个请求发送与每个会话不同的 csrf 令牌。

我正在使用 3.2.4 spring 安全 jar。


CSRF 令牌的默认持续时间是会话持续时间。 CSRF 令牌存储在 HTTP 会话中,因此是根据每个会话生成的。查看关于 CSRF 的 Spring Security 文档 http://docs.spring.io/spring-security/site/docs/3.2.5.RELEASE/reference/htmlsingle/#csrf-timeouts更多细节。

Spring Security 可以扩展以满足个人需求,因此它可以根据您的目的进行扩展。

但是,此扩展会影响可用性:

  1. 在第二个选项卡中打开 Web 应用程序将导致一个或两个选项卡中的会话中断。
  2. 提交表单上的“后退”按钮可能会导致一些奇怪的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring security中每个请求不同的csrf令牌 的相关文章

随机推荐