vue项目接口域名动态的获取方法
305
2023-01-12
使用SpringSecurity处理CSRF攻击的方法步骤
CSRF漏洞现状
CSRF(Cross-site request forgery)跨站请求伪造,也被称为One Click Attack或者Session Riding,通常缩写为CSRF或XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
CSRF是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)。
POM依赖
配置过滤器
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
/**
*http:// 配置CSRF过滤器
*
* @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}
*/
@Bean
public FilterRegistrationBean
FilterRegistrationBean
registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository()));
registration.addUrlPatterns("/*");
registration.setName("csrfFilter");
return registration;
}
}
在form请求中添加CSRF的隐藏字段
在AJAX请求中添加header头
xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");
jquery的Ajax全局配置
jQuery.ajaxSetup({
"beforeSend": function (request) {
request.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");
}
});
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~