Spring安全性中每个请求的不同csrf令牌

Sha*_*dav 7 java spring csrf spring-security csrf-protection

<csrf/>在我的spring security xml文件中使用tag作为web项目.并以一种形式发送csrf令牌:

<form action="" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>
Run Code Online (Sandbox Code Playgroud)

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

有什么办法可以为每个请求发送不同的csrf令牌,而不是每个会话在spring security中.

我正在使用3.2.4弹簧安全罐.

use*_*339 5

CSRF令牌的默认持续时间是会话持续时间.CSRF令牌存储在HTTP会话中,因此基于每个会话生成. 有关更多详细信息,请查看CSRF上的Spring Security文档.

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

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

  1. 在第二个选项卡中打开Web应用程序将导致一个或两个选项卡中的会话中断.
  2. 提交的表单上的"后退"按钮可能会导致一些奇怪的错误.