1. 동일 출처 전략
크로스 도메인을 이해하려면 먼저 동일 출처 정책이 무엇인지 알아야 합니다. 바이두 백과사전에서는 동일 출처 정책을 다음과 같이 정의하고 있습니다. 동일 출처 정책은 브라우저의 핵심이자 가장 기본적인 보안 기능입니다. 동일 출처 정책이 누락되면 브라우저의 정상적인 기능이 저하될 수 있습니다. 웹은 동일 출처 정책을 기반으로 구축되었으며, 브라우저는 동일 출처 정책의 구현일 뿐이라고 할 수 있습니다.
동일한 출처란 무엇입니까? 두 URL의 도메인 이름, 프로토콜, 포트가 동일하면 출처가 동일하다는 의미입니다.
브라우저의 동일 출처 정책은 다른 소스의 "문서" 또는 스크립트가 현재 "문서"의 특정 속성을 읽거나 설정하는 것을 제한합니다. (흰 모자는 웹 보안에 대해 이야기합니다[1]). 이 정책에 따르면 a.com 도메인 이름의 JavaScript는 b.com 도메인 이름의 개체를 도메인 간 작동할 수 없습니다. 예를 들어, baidu.com 도메인 이름 아래의 페이지에 포함된 JavaScript 코드는 google.com 도메인 이름 아래의 페이지 콘텐츠에 액세스할 수 없습니다.
JavaScript는 Ajax를 포함하여 브라우저의 동일 출처 정책을 엄격히 준수해야 합니다(사실 Ajax도 JavaScript로 구성되어 있습니다). XMLHttpRequest 객체를 통해 구현된 Ajax 요청은 다른 도메인에 제출할 수 없습니다. 예를 들어 abc.test.com 아래의 페이지는 def.test.com에 Ajax 요청을 제출할 수 없습니다. 동일 출처 정책을 적용함으로써 사용자는 자신이 보고 있는 페이지가 실제로 탐색 중인 도메인에서 온 것인지 확인할 수 있습니다.
동일 출처 전략은 실제 적용에서 매우 중요합니다. 공격자가 Iframe을 사용하여 실제 은행 로그인 페이지를 자신의 페이지에 삽입했다고 가정합니다. 사용자가 실제 사용자 이름과 비밀번호로 로그인하면 페이지는 JavaScript를 통해 사용자 양식의 내용을 읽을 수 있으므로 사용자 이름과 비밀번호 정보는 유출되었습니다.
브라우저에서