• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SpringSecurity处理CSRF攻击的方法介绍

java 搞代码 4年前 (2022-01-09) 9次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于Django的FBV和CBV的示例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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依赖

<!-- 模板引擎 freemarker --><dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-freemarker</artifactId></dependency><!-- Security (只使用CSRF部分) --><dependency>  <groupId>org.springframework.security</groupId>  <artifactId>spring-security-web</artifactId></dependency>

配置过滤器

@SpringBootApplicationpublic class Application {  public static void main(String[] args) {    SpringApplication.run(Application.class, args);  }    /**   * 配置CSRF过滤器   *   * @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}   */  @Bean  public FilterRegistrationBean<CsrfFilter> csrfFilter() {    FilterRegistrationBean<CsrfFilter> registration = new FilterRegistrationBean<>();    registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository()));    registration.addUrlPatterns("/*");    registration.setName("csrfFilter");    return registration;  }}

在form请求中添加CSRF的隐藏字段

<input name="${(_csrf.parameterName)!}" value="${(_csrf.token)!}" type="hidden&<p>本文来源gao!%daima.com搞$代*!码$网9</p>quot; />

在AJAX请求中添加header头

xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");

jQuery的Ajax全局配置

jQuery.ajaxSetup({  "beforeSend": function (request) {    request.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");  }});

以上就是SpringSecurity处理CSRF攻击的方法介绍的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SpringSecurity处理CSRF攻击的方法介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址