如何站点锁定Flash应用程序?

时间:2009-04-26 18:38:10

标签: flash actionscript-3 locking whitelist

我有一个Flash应用程序,我很快会在我的网站上发布。我希望能够“锁定”到网站以防止:

  • 在另一个网站上托管.SWF(非法下载后),
  • 如果包含在其他网站的iFrame中,则阻止.SWF打开

允许:

  • 要通过/启用的网站白名单,我无需定义网址的所有变体(例如:www.abc.com,abc.com,abc.com / game /,games.abc.com,等)

有些商业应用程序需要花费数百美元来完成这项任务,但我很确定可以通过以下方式完成:

root.loaderInfo.url

不知何故。有没有人知道怎么做这个?我最关心的是iFrame预防,因为当网站窃取闪存时,他们通常只是将iframe连接到您自己的网站,以节省带宽成本。

我正在使用Flex SDK(而不是Flash IDE),因此一些纯AS3代码可以帮我解决问题。

2 个答案:

答案 0 :(得分:3)

此代码将报告加载URL。您可以在主加载器中使用它来显示未经授权的消息,或者如果它与您的预期不符,则根本不加载:

public static function Domain(root:Sprite):String {
    var currentDomain:String = root.loaderInfo.url.split("/")[2];
    var fqdn:Array = currentDomain.split(".");
    var rdi:int = 1;
    var tli:int = 2; 
    if (fqdn.length == 2) {
        rdi--;
        tli--;
    }

    return fqdn[rdi] + "." + fqdn[tli];
}

答案 1 :(得分:2)

检查服务器上的引用代理是图像主机经常使用的常见技巧。然而,网络基本上是设计为灵活的链接功能,因此没有确定的阻止所有可能性的火灾方式。最好的解决方案是需要flash文件联系auth服务器并检查原始站点传递给它的一些字符串。