[스프링시큐리티] 악용 보호 | 1. CORS (cross origin resource sharing)

may_yun·2024년 11월 1일
0

보안

목록 보기
2/3

CORS : 동일 출처 정책

: 브라우저가 중간에서 두 애플리케이션 사이에서 데이터를 공유할 수 있는지 판단해서 공유할 수 있다면 응답하고 아니라면 응답을 제한하는 것
따라서 출처를 비교하는 로직은 브라우저에 구현된 스펙을 기준으로 판단한다
클라이언트 요청 헤더 (A), 서버 응답 헤더(B) 를 비교하여 최종 응답을 결정

  • 비교방법 : URL의 구성요소중 Protocol, Host, Port 세가지의 동일 여부에 따라서 동일출 처 인지를 브라우저가 판단한다

1. simple Request

2. Prefilght Request

  • header 와일드카드 뒤 설정

CORS API

  • CORS의 예비 사전 요청의 메소드는 OPTIONS이기 때문에 스프링시큐리티가 먼저 처리되면 사용자 인증이 되지 않은것으로 판단하여 거부할 수 있다.
    따라서 CORS가 먼저 처리되도록 하기 위해서 CorsFilter를 사용한다
  • CORS는 스프링시큐리티에서만 사용되는것이 아니다. SpringMVC에서도 사용되나 이는 스프링 시큐리티 다음 단계로 스프링시큐리티단에서 차단될 수 있기에 CorsFilter를 통해 스프링시큐리티와 통합하여 사용한다

profile
개발 일지

0개의 댓글