【问题标题】:How to prevent CSRF attack in Spring mvc 4如何在 Spring mvc 4 中防止 CSRF 攻击
【发布时间】:2017-02-09 20:41:55
【问题描述】:
我有 java spring mvc 项目。我想知道如何保护我的 webApp 免受 CSRF 的影响。我已阅读,Spring 处理该默认值,这是否意味着我不必配置任何东西并且我仍然安全?提前致谢。
【问题讨论】:
-
如果要默认启用 CSRF 保护令牌,则需要使用 Spring Security 模块。实际上 Spring Docs 用 CSRF 保护描述得很好Spring Docs
标签:
java
spring
model-view-controller
csrf
【解决方案1】:
如果您使用的是 Spring Security,那么 CSRF 保护从 4.0 版本开始默认启用。
查看文档以确定您需要做什么:
Spring Security CSRF protection
它说,基本上,您需要确保您的应用使用正确的 HTTP 动词:PATCH、POST、PUT 和/或 DELETE 用于修改状态的任何内容,并且在发回敏感信息时使用 POST 而不是 GET。
然后,由于使用 Spring Security 默认启用 CSRF 保护,因此您只需在发送有效负载(表单、json 等)时包含 CSRF 令牌