1

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

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

同时允许:

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

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

root.loaderInfo.url

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

我使用的是 Flex SDK(不是 Flash IDE),所以一些纯 AS3 代码可以帮到我。

4

2 回答 2

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];
}
于 2009-04-27T07:45:26.503 回答
2

检查服务器上的引用代理是图像主机经常使用的常用技巧。然而,网络从根本上设计为灵活的链接功能,因此没有可靠的方法来阻止所有可能性。最好的解决方案是需要闪存文件联系身份验证服务器并检查原始站点传递给它的一些字符串。

于 2009-04-26T18:43:56.490 回答