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 토큰 체크를 비활성화 시킨 것이다.