IT 정보/Authentication

[인증/보안] CORS란!?

개발하는 동그리 2022. 7. 28. 11:45
728x90
반응형
Cors는 현재 IP가 아닌 다른 IP로 리소스를 요청하는 구조를 말함
  • Origin
  • SOP
  • Access-Control-Allow-Origin

 

Origin
  • 요청이 시작된 서버의 위치를 뜻한다. 클라이언트(http://2000) -> 서버(http://3000) 에 로그인 요청을 하면 이것이 Origin이 다르므로, Cross Origin라 불림
  • 서버(http://3000) -> 서버(http://3000) 자신의 자료를 요청하면 Same Origin이라 불림 
  • Origin을 구분하는 방법은 스키마(https), HOST(choonsik-lab.tistory), Port(80)와 같이 구분

 

SOP (Same Origin Policy)
  • RFC 6454에서 등장한 보안 정책으로 동일한 출처의 Origin만 리소스를 공유한다라는 의미
  • SOP 표준에 따라야 XSS, CSRF 보안상의 이슈를 막을 수 있음

 

Access-Control-Allow-Origin
  • CORS를 해결하는 방법
  • SOP 정책에 따라 같은 Origin만 자원 공유할 수 있지만, 위 기능 덕분에 서로 다른 Origin에서 자원 공유가 가능함
    • HTTP 통신 헤더인 Orgin 헤더에 요청을 보내는 곳의 정보를 담고 서버로 요청을 보냄
    • 서버는 Access-Control-Allow-Origin 헤더에 허용된 Origin이라는 정보를 담아 보냄
    • 클라이언트는 헤더의 값과 비교해 정상을 확인하고 지정된 요청을 보냄
728x90
반응형