Open BBaeGGom-sk opened 1 year ago
CORS를 설명드리기 이전에 cross-origin에 대해 먼저 설명드리겠습니다.
cross-origin은 프로토콜/도메인/포트번호 중 한 가지라도 다른 경우를 말합니다.
💡
브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한하는데, cross-origin 요청을 하려면 서버의 동의가 필요합니다. 서버가 동의하면 브라우저는 요청을 허락, 동의하지 않으면 브라우저는 거절합니다.
이러한 메커니즘을 HTTP-header를 이용해서 가능하고 이를 (Cross-Origin Resource Sharing) 즉, CORS라고 합니다.
(Cross-Origin Resource Sharing)
CORS
💡 CORS(Cross-Origin Resource Sharing)
한줄요약 !
브라우저에서 cross-origin 요청을 안전하게 할 수 있도록 하는 메커니즘
<img>, <script>, <frame>, <video>, <audio> 등이 웹에 등장하면서, 페이지 로딩 이후에 브라우저에서 이러한 하위 자원들을 가져올 수 있게 되었습니다. 그러므로 동일 출처, 다른 출처 모두 호출이 가능하게 되었습니다.
<img>, <script>, <frame>, <video>, <audio>
CORS가 없다면, 다른 사이트에서 원래 사이트를 따라할 수 있게 됩니다.
다시 말해 기존 사이트와 완전히 동일하게 동작하도록 만들어진 사이트에 사용자가 로그인을 하도록 만들고, 로그인 한 세션을 탈취해 정보 추출이나 다른 정보 입력 등의 악의적인 공격을 할 수 있게 됩니다.
CORS가 뭐죠 ?
CORS를 설명드리기 이전에 cross-origin에 대해 먼저 설명드리겠습니다.
cross-origin은 프로토콜/도메인/포트번호 중 한 가지라도 다른 경우를 말합니다.
💡
브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한하는데, cross-origin 요청을 하려면 서버의 동의가 필요합니다. 서버가 동의하면 브라우저는 요청을 허락, 동의하지 않으면 브라우저는 거절합니다.
이러한 메커니즘을 HTTP-header를 이용해서 가능하고 이를
(Cross-Origin Resource Sharing)
즉,CORS
라고 합니다.💡 CORS(Cross-Origin Resource Sharing)
브라우저에서 cross-origin 요청을 안전하게 할 수 있도록 하는 메커니즘
그럼 CORS는 왜 필요한건가요 ?
<img>, <script>, <frame>, <video>, <audio>
등이 웹에 등장하면서, 페이지 로딩 이후에 브라우저에서 이러한 하위 자원들을 가져올 수 있게 되었습니다. 그러므로 동일 출처, 다른 출처 모두 호출이 가능하게 되었습니다.CORS가 없다면, 다른 사이트에서 원래 사이트를 따라할 수 있게 됩니다.
다시 말해 기존 사이트와 완전히 동일하게 동작하도록 만들어진 사이트에 사용자가 로그인을 하도록 만들고, 로그인 한 세션을 탈취해 정보 추출이나 다른 정보 입력 등의 악의적인 공격을 할 수 있게 됩니다.