【问题标题】:How to Site-Lock a Flash Application?如何对 Flash 应用程序进行站点锁定?
【发布时间】:2010-10-21 22:31:43
【问题描述】:

我有一个 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 代码可以解决问题。

【问题讨论】:

    标签: flash actionscript-3 locking whitelist


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      此代码将报告加载 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];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-18
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 2010-09-12
        • 2011-01-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多