crossdomain.xml 작성법

공수래 2015.05.07 13:17 조회 수 : 4931

Flash 문서가 다른 도메인의 데이터에 액세스하려고 시도하면

Flash Player는 자동적으로 그 도메인에서 정책 파일을 로드합니다.

액세스하려는 Flash 문서의 도메인이 정책 파일에 포함되어 있으면 자동적으로 데이터에 액세스할 수 있게 됩니다.

 

정책 파일의 이름은 반드시 crossdomain.xml이어야 합니다. 정책 파일은 루트 디렉토리에 저장되거나,

일부 ActionScript가 추가되는 경우 해당 데이터를 제공하는 서버의 다른 디렉토리에 저장할 수 있습니다.

자세한 내용은 사용자 정의 정책 파일 위치를 참조하십시오.

정책 파일은 HTTP, HTTPS 또는 FTP상에서 통신하는 서버에서만 동작합니다.

정책 파일은 파일이 저장된 서버의 포트와 프로토콜에만 해당됩니다.

예를 들어, https://www.adobe.com:8080/crossdomain.xml에 있는 정책 파일은 HTTPS를 통해 www.adobe.com의 8080 포트에 대한 데이터 로드 호출에만 적용됩니다.

 

XMLSocket 객체를 사용하여 다른 도메인의 소켓 서버에 연결하는 경우에는 이 규칙이 적용되지 않습니다.

이 경우, 소켓 서버와 같은 도메인의 80번 포트에서 실행 중인 HTTP 서버는 메서드 호출을 위한 정책 파일을 제공해야 합니다.

XML 정책 파일에는 하나의 <cross-domain-policy> 태그가 있습니다.

그리고 이 태그에는 0개 이상의 <allow-access-from> 태그가 포함됩니다.

각 <allow-access-from> 태그에는 domain이라는 속성이 있습니다.

이 속성에 정확한 IP 주소, 정확한 도메인 또는 와일드카드 도메인(임의의 도메인)을 지정합니다.

와일드카드 도메인은 모든 도메인과 IP를 대표하는 단일 별표 문자(*) 또는 접미어로 끝나는 도메인을 대표하는 접미어를 가진 별표 문자로 표현됩니다.

접미어는 점으로 시작해야 합니다.

그러나, 접미어를 가진 별표 문자는 앞의 점을 제외한 접미어만으로 구성되는 도메인과 일치할 수 있습니다.

예를 들어, adobe.com은 *.adobe.com에 속한 것으로 생각할 수 있습니다.

와일드카드는 IP 도메인 형식에 사용할 수 없습니다.

IP 주소를 지정하면 IP 구문(예: http://65.57.83.12/flashmovie.swf)을 사용하여 해당 IP 주소에서 로드된 SWF에만 액세스 권한이 부여됩니다.

이 경우 도메인 이름 구문을 사용하여 로드된 SWF에는 액세스 권한이 부여되지 않습니다. Flash Player는 DSN 이름 확인을 수행하지 않습니다.

 

다음 예제는 adobe.com의 Flash 문서에서 adobe.com, www.helpexamples.com, *.adobe.com 및 105.216.0.40의 Flash 문서에 액세스할 수 있도록 허용하는 정책 파일을 보여 줍니다.

 

<<?xml version="1.0"?>>
<<!-- http://www.adobe.com/crossdomain.xml -->>
<<cross-domain-policy>>
  <<allow-access-from domain="www.helpexamples.com" />>
  <<allow-access-from domain="*.adobe.com" />>
  <<allow-access-from domain="105.216.0.40" />>
<</cross-domain-policy>>
 
또한 다음 예제와 같이 모든 도메인의 문서에 액세스할 수 있도록
허용할 수 있습니다.
<<?xml version="1.0"?>>
<<!-- http://www.adobe.com/crossdomain.xml -->>
<<cross-domain-policy>>
  <<allow-access-from domain="*" />>
<</cross-domain-policy>>
 
<<allow-access-from domain="www.adobe.com" secure="false" />> 

 

출처 : adobe.com

 

제 홈에 실제로 적용한 예문

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*" />
</cross-domain-policy>

 

  • 인기글
  • 최근글
  • 최근댓글