Spring/SpringBoot

[goormedu 강의] 스프링부트 블로그 만들기 06 - 04 XSS와 CSRF

코딩맛 2024. 10. 5. 15:02
해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다.

 

XSS :  자바스크립로 공격하는 것.

CSRF : 공격자가 희생자의 권한을 도용하여 특정 웹사이트의 기능을 실행하는 것.

 

SecurityConfig

@Bean
public SecurityFilterChain configure(HttpSecurity http) throws Exception {
	http
    	.csrf().disable() // csrf 토큰 비활성화
    	.authorizeRequests()
    	.requestMatchers("/**", "/auth/**", "/js/**", "/css/**", "/image/**")
    	.permitAll()
    	.anyRequest()
    	.authenticated()
    	.and()
        .formLogin()
        .loginPage("/auth/loginForm");
    return http.build();
}

 

SecurityConfig에 .csrf().disable()을 추가한 이유

 

- 회원가입 시 전송 방식을 form 태그를 통해 POST 전송을 하는게 아니라 ajax를 사용하여 자바스크립트로 POST 전송한다.

자바스크립트 요청이 들어올 때 스프링 시큐리티에서 csrf 토큰이 있는지 체크하는데 토큰이 없기에 막힌다.

그래서 .csrf().disable()을 통해 csrf 토큰 체크를 비활성화 시킨 것이다.