如何解决如何在Spring Boot中使用Spring Security处理CSRF攻击
我用Spring安全性在Spring Boot中开发Web应用程序。
这是我用于实现csrf的代码
配置类。...
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity security) throws Exception {
// TODO Auto-generated method stub
security.httpBasic().disable();
security.authorizeRequests()
.antMatchers("/DDR/**").permitAll()
.antMatchers("/assets/**").permitAll();
}
}
在JSP中添加了以下注释
<meta name="_csrf" content="${_csrf.token}" />
<meta name="_csrf_header" content="${_csrf.headerName}" />
获取js中的值
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
最后在Ajax请求中添加了标头
headers : {
"X-CSRF-TOKEN" : token
},
我们是否需要在服务器端(java端)进行任何其他编码来验证CSRF?或者Spring Security将处理该代码?预先感谢。
解决方法
一切似乎都正确。默认情况下,使用Java配置会启用CSRF保护。为了确保一切正常,您可以检查每个发送csrf标头值的请求。另外,您应该尝试对应用程序进行csrf攻击以进行测试。您可以创建一个虚拟应用程序,该应用程序调用post api并在虚拟应用程序中检查响应。如果一切配置正确,则应返回403。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。