在Spring Boot Web应用程序中禁用csrf的原因是什么?

arm*_*ren 13 java spring csrf spring-security spring-boot

有许多教程显示了如何禁用csrf,

csrf().disable()
Run Code Online (Sandbox Code Playgroud)

(以及其他可能的功能,例如.properties.yml等),但没有人解释为什么这样做?

所以我的问题是:

禁用它的现实原因是什么?
它会提高性能吗?

And*_*lko 9

禁用它的现实原因是什么?

Spring文档建议:

我们的建议是对普通用户可能由浏览器处理的任何请求使用CSRF保护。如果仅创建非浏览器客户端使用的服务,则可能需要禁用CSRF保护。


它会提高性能吗?

它不应该影响性能。过滤器(或其他组件)将从请求处理链中删除,以使该功能不可用。

csrf在Spring Boot应用程序中禁用的原因是什么?

  1. 您正在使用另一种令牌机制。
  2. 您想简化客户端和服务器之间的交互。


use*_*900 5

Spring建议在为浏览器客户端提供服务时使用它,否则可能会被禁用:

我们的建议是对普通用户可以由浏览器处理的任何请求使用 CSRF 保护。如果您仅创建供非浏览器客户端使用的服务,您可能希望禁用 CSRF 保护。

我会补充一点,即使您为浏览器客户端提供服务,但它仅在内部使用,您可能想要/能够删除它。

  • 所以我的问题的本质是:**为什么**我可能想要这样做?我如此渴望禁用它的原因是什么?为什么我不能忘记它? (2认同)