有人可以发布格式正确的crossdomain.xml示例吗?


80

我一直在阅读Adobe在Flash 9-10中对crossdomain.xml进行了更严格的规定,我想知道有人可以将我知道有效的副本粘贴到我身上。在Adobe网站上查找最新样本时遇到了一些麻烦。


这看起来似乎很危险,但是作为拥有10年经验的Flash开发人员,我可以告诉您,我所实施的每个策略文件都没有成功,甚至直到今天都没有成功。原来,您需要自己实际加载策略文件。文档听起来像Flash会在出现SecuritySandbox错误之前自动自行寻找crossdomain.xml文件。所以,如果您有困难,请确保您加载的策略文件:Security.loadPolicyFile(“ example.com/crossdomain.xml”
1owk3y

Answers:


103

这就是我一直用于开发的内容:

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

这是一种非常宽松的方法,但对我的应用程序来说很好。

正如其他人在下面指出的那样,要当心这种风险。


30
从某种意义上说,这是可行的,但是请注意风险:这意味着任何网站都可以代表用户,Cookie和所有用户向您的网站发送请求,并且可以毫无问题地阅读回复。对于大多数Web应用程序来说,这是一个巨大的安全漏洞。因此,尽管这种方法占据了上风,但请您了解其风险,并在必要时采取严格的白名单方法(对于生产应用程序几乎总是如此)。
Matchu

3
千万不能使用此之外的发展。这与强化的PHP项目中的“配置错误的crossdomain.xml”示例完全匹配。
Greg K,

2
如果您自己提供文件,请记住要设置正确的contentType:“ text / x-cross-domain-policy”
2015年

在生产环境中,有一种(只有一种)情况是可以接受的:将其安装在提供静态文件以供其他域上的应用程序使用的域上。示例:您有一个“ images.mydomain.com”子域,该子域为您站点的所有图像提供服务(大概使用某种CDN),而没有其他服务
Periata Breatta

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 2010年

在哪里保存此XML文件
Sajitha Rathnayake 2014年

我总是使用Adobe的方案。这是一个宽松的示例:http

保存在您希望它影响的域级别上。例如。example.com/crossdomain.xml
iedoc

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 Boilerplate一起打包,这是多年迭代开发和综合社区知识的产物。但是,此后已将其从存储库中删除。我已经在这里逐字复制了该文件,并在下面删除了该文件的链接。

<?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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.