Open young-02 opened 12 months ago
<img>,<video>,<script>,<link> 태그 는 다른사이트의 리소스에 접근하는것이 가능하다.
<img>
<video>
<script>
<link>
Cross-Origin Resource Sharing 는 웹 어플리케이션에서 다른 도메인의 리소스에 접근할 때 발생하는 보안 이슈를 해결하기 위한 표준 방법이다.
Protocol + Host + Post 모두 합쳐진 URL을 의미한다.
Protocol: http, https Host: domain Port: 포트 번호 Path: 사이트내부 경로 Query string: 요청의 key와 value값 Fragment: 해시태그
동일한 출처에 대한 정책 = 동일한 출처에서만 리소스를 공유할 수 있다. 다른출처(Cross-Origin) 서버에 있는 이미지나 유튜브 영상 같은 리소스는 상호작용이 불가능하다.
동일한 출처에서만 리소스를 공유할 수 있다.
해커가 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 등의 방법을 이용해서 어플리케이션에 해커를 심어놓은 코드가 실행하여 개인 정보를 가로챌수 있다. 이러한 경우를 방지 하기위해 사전에 방지 하는 것이다.
URL의 구성요소 중 Protocal, Host,Port 3가지만 동일하면 동일 출처로 판단한다.
출처를 비교하는 로직은 브라우저에 구현된 스팩이다.(브라우저가 응답을 받아 동일 출처가 아니며 에러를 보낸다.)
다른 출처의 리소스 공유에 대한 허용/비허용 정책이다.
CORS는 예외 조항을 두고 다른 출처의 리소스 요청이라도 이 조항에 해당할 경우 허용한다.
인증 정보를 포함한 요청을 보낼 때 프론트에서도 처리해줘야 할것이 있는데 withCredentials옵션을 추가 하는 것이다.
withCredentials
https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8F
CORS 에러란?
요청 방식에 따라 다른 CORS 발생 여부
Cross-Origin
<img>
,<video>
,<script>
,<link>
태그 는 다른사이트의 리소스에 접근하는것이 가능하다.Same-Origin
CORS 란?
Cross-Origin Resource Sharing 는 웹 어플리케이션에서 다른 도메인의 리소스에 접근할 때 발생하는 보안 이슈를 해결하기 위한 표준 방법이다.
origin 란?
Protocol + Host + Post 모두 합쳐진 URL을 의미한다.
동일 출처 정책(Same-Origin Policy)
SOP (Same-Origin Policy)
동일한 출처에 대한 정책 =
동일한 출처에서만 리소스를 공유할 수 있다.
다른출처(Cross-Origin) 서버에 있는 이미지나 유튜브 영상 같은 리소스는 상호작용이 불가능하다.동일 정책이 필요한 이유
해커가 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 등의 방법을 이용해서 어플리케이션에 해커를 심어놓은 코드가 실행하여 개인 정보를 가로챌수 있다. 이러한 경우를 방지 하기위해 사전에 방지 하는 것이다.
출처의 구분
URL의 구성요소 중 Protocal, Host,Port 3가지만 동일하면 동일 출처로 판단한다.
출처비교와 차단은 브라우저가
출처를 비교하는 로직은 브라우저에 구현된 스팩이다.(브라우저가 응답을 받아 동일 출처가 아니며 에러를 보낸다.)
교차 출처 리소스 공유(Cross-Origin Resource Sharing)
다른 출처의 리소스 공유에 대한 허용/비허용 정책이다.
CORS는 예외 조항을 두고 다른 출처의 리소스 요청이라도 이 조항에 해당할 경우 허용한다.
브라우저 CORS 기본동작
CORS 에러가 발생하는 경우
프론트에서 인증정보 포함한 요청을 보낼 때
인증 정보를 포함한 요청을 보낼 때 프론트에서도 처리해줘야 할것이 있는데
withCredentials
옵션을 추가 하는 것이다.