Flash对象可以检测它们嵌入的页面吗?

时间:2012-04-02 20:53:38

标签: flash analytics

Flash组件有没有办法查找其嵌入的网站的网址?例如,如果我在自己的网站上嵌入了YouTube视频,那么谷歌是否有任何方式可以知道是谁引用了这些视频?

2 个答案:

答案 0 :(得分:1)

Flash可以使用“ExternalInterface”来调用javascript上的一些函数/方法(如window.location.toString())。

但是使用iframe(就像youtube现在一样),他们可以使用HTTP referrer =)

来读取它

答案 1 :(得分:1)

除了保罗所说的,这实际上取决于你想做什么。您是否希望其他人的SWF被误导其位置,或者您是否希望SWF在其所在的页面上进行窃听。

在第一种情况下,重载用于支持AS-JS通信的JavaScript函数可能会有所帮助。这样您就可以假装向SWF提供正确的信息。在Firebug中查找所有以__flash_***之类的内容开头的函数,可以使它们超载并使Flash使用您的版本。

当页面被加载到iframe和类似的技术时,例如在您知道它的情况下窃听您的页面(这并不严格地说与Flash相关),但如果意图是您使用某些SWF而不是它知道它在哪里,然后你会试着找出动态创建的iframe为了加载SWF文件而准确发送的参数,并且你也可以模仿它。 JavaScript是这种欺诈行为的一扇门,它本身就是这样。这更像是一场比赛,你必须比那些与你对抗的人更安全,而不是提供实际的安全性。)

如果要重载EI函数,只需提示一下:

with ({ "window" : { "location" : { "toString" : function() { return "woo-hoo!"; } } }})
{ alert(window.location.toString()); }

:)