在 spring boot web 应用程序中禁用 csrf 的原因是什么?

新手上路,请多包涵

有很多教程展示了如何禁用 csrf,

 csrf().disable()

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

所以我的问题是:

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

它提高了性能吗?

原文由 arminvanbuuren 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

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

Spring 文档建议:

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


它会提高性能吗?

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

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

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

原文由 Andrew Tobilko 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

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

原文由 user7294900 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题