2009-12-20 44 views
1

我在App Engine上承载的AS3 AMF RemoteObject请求遇到问题。我在域的根目录中有一个crossdomain.xml文件,在远程端点上也有一个。Flex/AS3和AppEngine的安全沙箱问题

这里有根crossdomain.xml的内容:

<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies ="all"/>
<allow-access-from domain="*.appspot.com"/>
<allow-access-from domain="*.{appid}.appspot.com"/>
<allow-access-from domain="*.{appid}.com"/>
<allow-access-from domain="*.{appid}.org"/>
</cross-domain-policy>

我已经取代我的应用程序的ID为{} APPID。在端点crossdomain.xml中,它说明了完全相同的内容,但省略了<site-control>标记。

加载swf文件并在我的机器上测试它工作得很好......我认为这可能与我使用调试版Flash Player有关。当我将其推送到App Engine以使其公开时,其他客户端访问它并获得Client.Error.MessageSend Channel.Security.Error error Error #2048 url: http://05-alpha.latest.{appid}.appspot.com/_rpc/data

我正在使用Flex 4 beta和App Engine Python运行时。我尝试了crossdomain中的完整通配符,甚至在相对URL中访问数据端点以避免此错误。

有人请帮忙!提前致谢。

+0

尝试添加端口将跨域策略为好。 bhups 2009-12-21 09:57:41

+0

即使在crossdomain中有端口,我也会收到错误信息。它根本不需要跨域文件 - 它正在访问托管域中的数据。 我甚至尝试使用相对网址。还没有什么 – sgammon 2010-04-26 19:20:02

+0

你有没有解决这个问题? – 2010-10-10 22:48:21

回答

0

此问题涉及Flex BuilderFlex Builder插件,用于Eclipse

如果你有网络当你运行你的项目(一个非常有用的功能,让你监控数据移动过线)上的监视,生成器会自动修改你的SWF通过一个服务器上运行,以将流量重定向到本地计算机上,以便你可以监控它。

要解决此问题,请在编译项目时禁用网络监视。

Adob​​e确实应该解决这个问题......很容易忘记监控已经开始,因为大多数我认识的开发人员一直都在使用它。

有关网络监视器的更多信息:http://anirudhs.chaosnet.org/blog/2009.06.01.html

+0

我还应该注意,这个问题与App Engine或Python无关......并且应该是未标记的 – sgammon 2010-12-05 20:15:49