【问题标题】:Security Sandbox Issues with Flex/AS3 and AppEngineFlex/AS3 和 AppEngine 的安全沙盒问题
【发布时间】:2009-12-20 18:20:10
【问题描述】:

我在处理 App Engine 上托管的 AS3 AMF RemoteObject 请求时遇到问题。我在域的根目录中有一个 crossdomain.xml 文件,在远程端点也有一个。

这里是根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 中,它表示完全相同的内容,只是它省略了 &lt;site-control&gt; 标记。

加载 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 运行时。我已经在跨域中尝试了完整的通配符,甚至通过相对 URL 访问数据端点以避免此错误。

请有人帮忙!提前致谢。

【问题讨论】:

  • 尝试将端口添加到您的跨域策略中。
  • 即使在跨域中使用端口,我也会收到错误消息。不过,它根本不需要跨域文件——它正在访问它所在域的数据。我什至尝试使用相对网址。还是什么都没有

标签: actionscript-3 flex4 remoting flexbuilder amf


【解决方案1】:

此问题涉及 Flex BuilderFlex Builder Eclipse 插件

如果您在运行项目时启用了网络监控(这是一项非常有用的功能,可让您监控通过网络传输的数据),Builder 会自动修改您的 SWF 以通过运行在您的本地计算机,以便您对其进行监控。

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

Adobe 真的应该解决这个问题...很容易忘记监控是开启的,因为我认识的大多数开发人员一直都开启监控。

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

【讨论】:

  • 我还应该注意,这个问题已经与 App Engine 或 Python 无关了......并且应该取消标记
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多