[문의]
CORS 에러가 나타나는데 어떻게 해야 할까요?
[답변]
1. CORS(Cross-Origin Resource Sharing) 란?
- 브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한합니다.
출처 : https://coding-groot.tistory.com/91
2. cross-origin
- 프로토콜 - ex) http와 https는 프로토콜이 다르다.
- 도메인 - ex) domain.com과 other-domain.com은 다르다.
- 포트 번호 - ex) 8080포트와 3000포트는 다르다.
참고 : Origin은 프로토콜 + 호스트 + 포트를 합한 것으로 이 3가지가 동일하면 같은 Origin이라고 판단
3. CORS는 왜 필요한가?
- CORS가 없이 모든 곳에서 데이터를 요청할 수 있게 되면, 다른 사이트에서 원래 사이트를 흉내낼 수 있게 됩니다.
ex) 기존 사이트와 완전히 동일하게 동작하도록 하여 사용자가 로그인을 하도록 만들고, 로그인했던 세션을 탈취하여 악의적으로 정보를 추출하거나 다른 사람의 정보를 입력하는 등 공격을 할 수 있습니다.
이렇게 공격을 할 수 없도록 브라우저에서 보호하고, 필요한 경우에만 서버와 협의하여 요청할 수 있도록 하기 위해서 CORS 필요합니다.
4. CORS 발생 상황
- ajax 요청, javascript 라이브러리 등 사용하여 frontend 에서 요청을 보내는 경우 주로 발생합니다.
5. 해결방안
브라우저 레벨이 아닌 서버레벨에서 요청하시는 방식으로 구현하여 요청 진행하시길 바랍니다.
- 참고 :
CORS 이슈는 브라우저 정책에 의해 차단되는 것으로 Postman에서는 발생하지 않으며,
브라우저 정책에 의한 것으로 다우기술측에서 조치할 수 있는 내용은 없습니다.
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.