在弹簧引导Web应用程序中禁用csrf的原因是什么?

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

csrf().disable()

(以及其他可能性,如 、 等)但没有任何地方解释他们为什么这样做?.properties.yml

所以我的问题是:

禁用它的实际原因是什么?
它是否提高了性能?


答案 1

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

Spring文档建议:

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


它能提高性能吗?

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

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

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

答案 2

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

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

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


推荐