Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring:以编程方式生成新的csrf令牌_Java_Spring_Spring Mvc_Spring Security_Csrf - Fatal编程技术网

Java Spring:以编程方式生成新的csrf令牌

Java Spring:以编程方式生成新的csrf令牌,java,spring,spring-mvc,spring-security,csrf,Java,Spring,Spring Mvc,Spring Security,Csrf,我正在尝试制作一个webapp,它将运行在一个HTML页面上,允许用户通过JavaScript和ajax与服务器交互。我希望通过在每个请求中包含一个csrf令牌,使我的请求能够安全地抵御csrf攻击 因为我的webapp只在一个页面上运行,所以我不能在视图中使用${u csrf.token}(或类似的)语法,因为视图将是一个json对象。相反,我希望有一个类似“/security/csrf”的url,它返回与用户会话相关联的令牌。(是的,这不完全是一个restful服务。) 我是否有办法生成cs

我正在尝试制作一个webapp,它将运行在一个HTML页面上,允许用户通过JavaScript和ajax与服务器交互。我希望通过在每个请求中包含一个csrf令牌,使我的请求能够安全地抵御csrf攻击

因为我的webapp只在一个页面上运行,所以我不能在视图中使用${u csrf.token}(或类似的)语法,因为视图将是一个json对象。相反,我希望有一个类似“/security/csrf”的url,它返回与用户会话相关联的令牌。(是的,这不完全是一个restful服务。)


我是否有办法生成csrf令牌,Spring Security在验证登录时可以访问该令牌?此外,以这种方式使用csrf令牌是否存在缺陷?

每个请求的令牌将终止缓存。每个会话的令牌同样安全

在您的第一个html响应中,将csrf令牌包含在元标记中,如文档所述:


您可以跨请求使用相同的令牌(在同一会话中)

每个请求的令牌将终止缓存。每个会话的令牌同样安全。在您的第一个html响应中,将csrf令牌包含在一个元标记中,就像文档中说的:那么,如果我只在每个会话中使用一个令牌,Spring会继续在多个请求中接受相同的令牌吗@NeilMcGuigan是的,您可以在请求之间使用相同的令牌(在同一会话中)。好的,谢谢!我将尝试这种方法!如果我想在每次新请求时更改令牌值,那么由于我不想重复令牌值,如果有人捕获我的令牌值,那么他们可以访问我的请求,因此请帮助我或建议我正确的方法。