누군가 잘 구성된 crossdomain.xml 샘플을 게시 할 수 있습니까?


80

Adobe가 flash 9-10에서 crossdomain.xml을 더 엄격하게 만들었다는 것을 읽었으며 누군가가 작동하는 것을 알고있는 복사본을 붙여 넣을 수 있는지 궁금합니다. Adobe 사이트에서 최근 샘플을 찾는 데 문제가 있습니다.


이것은 위험 할 정도로 분명해 보일지 모르지만, 10 년의 경험을 가진 Flash 개발자로서 제가 구현 한 모든 정책 파일이 오늘날까지 작동하는 척도하지 못한 채 실패했다고 말할 수 있습니다. 실제로 정책 파일을 직접로드해야합니다. 문서는 SecuritySandbox 오류가 발생하기 전에 Flash가 자동으로 crossdomain.xml 파일을 자동으로 찾는 것처럼 들립니다. 따라서 어려움을 겪고있는 경우 정책 파일을로드하고 있는지 확인하십시오. Security.loadPolicyFile ( " example.com/crossdomain.xml" )
1owk3y

답변:


103

이것이 제가 개발에 사용해온 것입니다.

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

이것은 매우 자유로운 접근 방식이지만 내 응용 프로그램에는 좋습니다.

다른 사람들이 아래에서 지적했듯이 이것의 위험을 조심하십시오.


30
이것은 어떤 의미에서 작동하지만 위험에 유의하십시오. 이것은 모든 웹 사이트가 사용자를 대신하여 귀하의 웹 사이트에 요청, 쿠키 및 모든 것을 보낼 수 있으며 문제없이 응답을 읽을 수 있음을 의미합니다. 대부분의 웹 앱에서 이것은 엄청난 보안 취약점입니다. 따라서이 접근 방식이 그 자리를 차지하지만 위험을 알고 필요할 때 엄격한 화이트리스트 접근 방식을 취하십시오 (거의 항상 프로덕션 앱에 해당).
Matchu

3
되지 외부에서 개발을 사용합니다. 이것은 강화 된 PHP 프로젝트 의 "잘못 구성된 crossdomain.xml"의 예와 정확히 일치합니다 .
Greg K

2
파일을 직접 제공하는 경우 올바른 contentType을 설정해야합니다. "text / x-cross-domain-policy"
fiffy

프로덕션 환경에서 이것이 허용되는 상황은 하나뿐입니다. 즉 , 다른 도메인의 응용 프로그램 사용을 위해 정적 파일 제공 하는 도메인에이를 설치하는 것입니다 . 예 : 당신은 당신의 사이트의 모든 이미지가와 (아마도 일부 CDN의 종류 사용) 역할을하는 "images.mydomain.com"하위 도메인이 다른 아무것도 .
Periata Breatta 2016 년

34

웹 서비스를 사용하는 경우 'allow-http-request-headers-from'요소도 필요합니다. 기본, 개발, '모든 것을 허용'정책이 있습니다.

<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*"/>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

22
이것이 위험한지 / 어떻게 위험 할 수 있는지 언급해야할까요?
philfreo

어디이 XML 파일 저장
Sajitha Rathnayake

저는 항상 Adobe의 계획을 사용합니다. 다음은 느슨한 것의 예입니다. http://stackoverflow.com/a/26433744/257319

적용하려는 도메인 수준에 저장합니다. 예. example.com/crossdomain.xml
iedoc 2014

30

Twitter의 다음을 살펴보십시오.

http://twitter.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
    <allow-access-from domain="twitter.com" />
    <allow-access-from domain="api.twitter.com" />
    <allow-access-from domain="search.twitter.com" />
    <allow-access-from domain="static.twitter.com" />
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-http-request-headers-from domain="*.twitter.com" headers="*" secure="true"/>
</cross-domain-policy>


9

프로덕션 사이트에서는 이것이 적합 해 보입니다.

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.mysite.com" />
<allow-access-from domain="mysite.com" />
</cross-domain-policy>

5

의 버전 에 crossdomain.xml은 와 함께 제공하는 데 사용 HTML5 상용구 이고 반복적 인 개발과 결합 된 지역 사회의 지식의 많은 년간의 제품입니다. 그러나 이후 저장소에서 삭제되었습니다. 여기에 그대로 복사했으며 아래에 삭제 된 커밋에 대한 링크를 포함했습니다.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <!-- Read this: https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->

  <!-- Most restrictive policy: -->
  <site-control permitted-cross-domain-policies="none"/>

  <!-- Least restrictive policy: -->
  <!--
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" to-ports="*" secure="false"/>
  <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
  -->
</cross-domain-policy>

# 1881 https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2 에서 삭제됨

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.