Same-Origin Policy

Security

개요

동일 출처 정책(SOP)은 한 오리진에서 로드된 스크립트가 다른 오리진의 리소스에 함부로 접근하지 못하게 막는 브라우저의 기본 보안 규칙입니다.

이 정책이 없다면 악성 사이트의 자바스크립트가 사용자의 은행 사이트 응답을 읽어갈 수 있으므로, 웹 보안의 뼈대라 할 수 있습니다.

자세히

SOP는 주로 '읽기'를 막습니다. 예컨대 다른 오리진으로 `fetch` 요청을 보내는 것 자체는 가능하지만, 응답 본문을 자바스크립트로 읽는 것은 기본적으로 차단됩니다. DOM 접근, 쿠키/저장소 접근도 오리진 경계로 격리됩니다.

다만 예외가 있습니다. `<img>`·`<script>`·`<link>` 같은 태그로 다른 오리진 리소스를 '포함'하는 것은 오래전부터 허용되어 왔고, 이 느슨함이 CSRF 공격의 토대가 됩니다(요청은 나가지만 응답을 못 읽는다는 점을 악용). SOP는 지나치게 엄격해 정당한 교차 오리진 API 호출까지 막기 때문에, 이를 안전하게 완화하는 표준이 바로 CORS입니다. 즉 CORS는 SOP를 '서버가 허락한 범위 내에서' 여는 장치입니다.

관련 타입