Spring 安全中的条件 CSRF 保护

Posted

技术标签:

【中文标题】Spring 安全中的条件 CSRF 保护【英文标题】:Conditional CSRF protection in Spring security 【发布时间】:2021-12-24 15:51:46 【问题描述】:

我们正在使用 Spring Boot 开发一个 Web API,它应该支持 React 客户端和移动应用程序。对于 Web 端,我们使用会话管理和 cookie 进行授权并启用 CSRF,移动应用程序将使用不记名令牌发送授权信息。现在假设我们有一个用于修改 React 客户端和移动应用程序都将使用的用户数据的端点,有没有办法在移动应用程序尝试访问它时禁用 CSRF 检查,因为移动应用程序不应该真的容易受到 CSRF 攻击吗?

【问题讨论】:

【参考方案1】:

有没有办法在移动应用程序尝试访问它时禁用 CSRF 检查

是的,您可以让移动版本使用不同的 URL。 然后你可以像这样配置HttpSecurity bean。

     http
         .csrf()
             .ignoringAntMatchers("/my-csrf-disabled-uri-for-mobile/**")
             .and()

这能解决您的问题吗?在 cmets 中告诉我。

【讨论】:

是的,为了避免代码重复,我可以在控制器/控制器方法上添加两个不同的路径,一个用于 Web 客户端,另一个用于移动应用程序,所以这应该可以完美运行,谢谢跨度> 祝你好运! :)))

以上是关于Spring 安全中的条件 CSRF 保护的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSF-Spring 集成应用中启用 CSRF 保护

Springs CSRF 保护 HTML *only* 登录页面

使用 Grails Spring Security 进行 CSRF 保护

使用 AJAX GET 方法的 CSRF 令牌保护

Django网络安全跨站点请求伪造保护,CSRF如何正确使用

春季安全 CSRF CORS