0. 들어가기 전에 예전에 진행하던 프로젝트를 유지보수하던 중에 CORS 정책이 wildcard로 열려있는 것을 확인해 보안을 위해서 wildcard를 없애던 중 마주쳤던 문제입니다. 1. AS-IS @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*"); } 기존 Cors관련 메서드는 이런 식으로 와일드 카드로 열려있었다. 와일드 카드는 보안 상 안좋기도 하고 나중에 쿠키를 사용하려면 변경해야하기 때문에 이번 기회에 아래처럼 변경해보기로 했다. @Override public void addCorsMappings(CorsRegistry registry) { reg..
CORS
CORS와 스프링에서의 해결법 0. 들어가기 전에 장바구니 미션을 하면서 문제가 되었던 CORS를 알아보고 해결한 내용을 정리해 보았습니다. 1. CORS란? 교차 출처 리소스 공유(Cross-Oriign Resource Sharing, CORS) 브라우저는 동일 출처 정책(Same-Origin Policy, SOP)을 사용함으로써 XSS나 XSRF와 같은 공격을 방어합니다. 하지만 실제 웹페이지에서는 자주 다른 출처의 자원을 사용하게 되기 때문에 CORS를 사용합니다. CORS는 추가 HTTP 헤더를 사용해서, 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 여기서 말하는 출처(Origin)란 URL에서 Protocol, Host, Port를 의미합니다. 아..