REST 中真的需要 CSRF 保护吗?
Is CSRF protection really required in REST?
是否真的希望 CSRF 保护存在于基于 REST 的应用程序中?
我知道从服务器端提供 JSP 的 Web 应用程序需要它。但是我正在开发一个 Spring 启用引导的 REST 服务,它将被 Angular/Bootstrap 前端使用。身份验证机制是基于 JWT 的。
由于我没有在后端 REST 服务中使用 Spring 的 CSRF 保护机制,谁能解释一下我可能会受到什么样的 CSRF 攻击?
由于 REST 应用程序应该是无状态的,您无法实施传统的 CSRF 保护(涉及在客户端和服务器上存储令牌然后匹配它们) .
但是,如果您使用一种机制来传递由浏览器自动保留的凭据(例如 cookie 或 HTTP 基本身份验证),您仍然容易受到 CSRF 攻击。
在编写 REST 服务时应避免使用此类方法进行身份验证,而应使用其他方法(例如自定义 HTTP 请求 header)。
是否真的希望 CSRF 保护存在于基于 REST 的应用程序中?
我知道从服务器端提供 JSP 的 Web 应用程序需要它。但是我正在开发一个 Spring 启用引导的 REST 服务,它将被 Angular/Bootstrap 前端使用。身份验证机制是基于 JWT 的。
由于我没有在后端 REST 服务中使用 Spring 的 CSRF 保护机制,谁能解释一下我可能会受到什么样的 CSRF 攻击?
由于 REST 应用程序应该是无状态的,您无法实施传统的 CSRF 保护(涉及在客户端和服务器上存储令牌然后匹配它们) .
但是,如果您使用一种机制来传递由浏览器自动保留的凭据(例如 cookie 或 HTTP 基本身份验证),您仍然容易受到 CSRF 攻击。
在编写 REST 服务时应避免使用此类方法进行身份验证,而应使用其他方法(例如自定义 HTTP 请求 header)。