将大型swf移动到S3会导致安全问题

时间:2010-10-12 22:52:33

标签: flash actionscript-3 security policies

我继承了一个完全用Flash构建的网站,主swf是4.5MB大(哎哟!)。正如您可能猜到的那样,这给我的客户带来了大量的托管费用。为了解决这个问题,我想将这个单片swf移动到Amazon S3,但这会导致安全问题。

这就是当前加载bigt swf的方式; loader.swf上的mydomain.com正在加载来自s3.amazonaws.com的大型swf。但是,这有效,大型swf反过来从mydomain.com加载资产。我希望,因为loader.swf(在我的域上)正在加载大型swf,所以大型swf将存在于loader.swf的上下文中。

我已经尝试在两个swf指向其他域的域中放置一个Security.allowDomain,但这似乎无法解决问题。我目前要解决的错误是:

-- Remote SWFs may not access local files.
SecurityError: Error #2148: SWF file https://s3.amazonaws.com/static.mydomain.com/verylarge.swf cannot access local resource 

非常感谢任何解决此问题的帮助。

1 个答案:

答案 0 :(得分:0)

您可能需要在S3上使用跨域政策文件,允许从您的域访问

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

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="yourdomain.com"/>
  <allow-access-from domain="s3.amazonaws.com/static.mydomain.com"/>
</cross-domain-policy>