代码之家  ›  专栏  ›  技术社区  ›  Andy Moore

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

  •  1
  • Andy Moore  · 技术社区  · 17 年前

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

    • 如果包含在另一站点的iFrame中,则阻止打开.SWF

    同时允许:

    • 无需我定义URL的所有变体即可通过/启用的网站白名单(即:www.abc.com、abc.com、abc.com/game/、games.abc.com等)

    root.loaderInfo.url
    

    以某种方式有人知道怎么做吗?我最担心的是iFrame的预防,因为当站点窃取flash时,它们通常只是将iFrame发送到您自己的站点,以节省带宽成本。

    我使用的是FlexSDK(不是Flash IDE),所以一些纯AS3代码可以帮我解决这个问题。

    2 回复  |  直到 17 年前
        1
  •  3
  •   Andy Moore    17 年前

    此代码将报告加载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];
    }
    
        2
  •  2
  •   ewanm89    17 年前