如何通过flex访问cookie?

时间:2010-08-09 12:28:15

标签: flex cookies

我在flex中创建了一个博客小部件。我需要在我的小部件中操作cookie,这些cookie被添加到我的用户的博客中。但在某些情况下,一些博客主机禁止访问javascript,因此我无法通过externalInterface访问flex中的cookie。有谁知道在这种情况下如何访问cookie?感谢。

3 个答案:

答案 0 :(得分:1)

您需要在嵌入代码中将allowScriptAccess设置为“*”。不幸的是,你不能允许基于每个域的访问,所以它是全部或全部。但是,博客的所有者可能不想授予此权限,在这种情况下,您不能指望从您的swf访问Javascript。

PS:如果您被允许从同一域提供授权访问Javascript的swf,您可以将其用作代理,将使用javascript检索的数据发送到从其他域提供的swf。不过,不确定这是不是最好的主意。

答案 1 :(得分:0)

我的回答是,您无法从Flash Player访问浏览器Cookie。 ExternalInterface用法是一种黑客攻击。

根据错误,听起来您的SWF是从与包含它的网页不同的域提供的。真的吗?如果是这样,那就是错误的原因。这不是“Cross Site Scripting”漏洞使用的那种方法吗?

您可以通过在SWF嵌入代码中指定allowScriptAccess来允许JavaScript从其他域访问它的HTML包装器。 Adobe docs中的更多信息。

您可以尝试将crossdomain.xml文件添加到主站点,但我认为这不会产生影响,因为我非常确定ExternalInterface用法不是crossdomain.xml检查案例。

答案 2 :(得分:0)

我很好奇饼干的来源。如果您的Flex应用程序通过SharedObject创建cookie,那么您不需要javascript来访问它。如果cookie来自另一个应用程序/源,那么据我所知,访问它的唯一真正方法是通过javascript外部接口方法。