Flex Application类和“普通”应用程序之间的安全性差异

时间:2012-09-19 19:30:00

标签: actionscript-3 flex security sandbox

我有一段有问题的代码,它使用Wordnik API来获取字词定义。此代码在"本地信任"安全沙箱,但不在线工作 - 它会产生一个安全沙箱违规行为" (但没有解决沙箱违规问题的常用方法)。

我已经使用Wordnik API创建者咨询了这一点,他们并没有直接解决我的问题,但我指的是一个有效的例子。事实上,他们的例子很有效,但它使用的是Flex class" Application"。

在独立的.as类中不起作用的相同代码在Flex应用程序中使用时可以正常工作。

我的问题是:Flex Application类和扩展Sprite的普通AS3类有什么区别(特别是安全性差异)?

我使用Flashdevelop进行编译。这可能很重要,因为Wordnik的人说它在Flash Builder中运行良好 - 尽管他们没有提供细节,但我无法重现它。

如果需要,我可以附加代码。

1 个答案:

答案 0 :(得分:0)

所以,我无法理解究竟发生了什么,但我看到发生了什么 - 似乎它根本没有与闪存安全相关联。

当您使用mx app时,WordnikClient会发送序列化数据包,这些数据包与非mx应用程序的数据包不同:

mx app:

<object type="flex.messaging.messages.CommandMessage">

fl app:

<object>

请求:

<object type="flex.messaging.messages.HTTPMessage">

VS

<object>

但是当您在本地受信任的沙箱中时,客户端使用GET请求,例如:

http://api.wordnik.com/v4/word.xml/drama/definitions?limit=1&useCanonical=true&api_key=148404f291e734bbf372b66b13785d85cb962394b22a8384e

服务器返回xml。

所以,

1)我建议你只使用GET请求并解析XML;)。至少在这个问题发生的时候

2)尝试将此报告发送给支持人员。我认为,问题可能出在序列化过程中。

希望它会有所帮助。此致