防止跨站点请求伪造

CSRF

跨站点请求伪造(Cross-Site Request Forgery,CSRF)是一种常见的攻击手段。
它的工作原理是在用户使用浏览器安全登录网站后,浏览器会以Cookie的形式保存信息,其中就包含用户的登录信息,然后在不关闭浏览器的情况下,用户可能访问一个危险网站,这个危险网站就能通过获取Cookie信息来仿造用户的请求,进而请求安全网站,并进行一些危险操作从而给网站带来危险。

CSRF的常见特性

  • 依靠用户标识危害网站
  • 利用网站对用户标识的信任
  • 欺骗用户的浏览器发送HTTP请求给目标站点
  • 另外可以通过IMG标签会触发一个GET请求,可以利用它来实现CSRF攻击。

防止CSRF

在spring-security中提供了处理CSRF的过滤器,并且在默认情况下,是启用过滤器来防止CSRF攻击的,但在开发过程中,有时CSRF防护可能会影响我们的开发效率,所以这里给出关闭的方法。

/*安全配置类*/
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)// 启用方法安全设置
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
	    http.and().csrf().ignoringAntMatchers("/h2-console/**");//禁用H2控制台的CSRF防护,即关闭指定请求的csrf
	    			//.and().csrf().disable();完全关闭csrf
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40995335/article/details/83215310