2009-04-26 41 views
1

我有一個Flash應用程序,我很快就會在我的網站上發佈。我希望能夠「鎖定」到現場,以防止:如何網站鎖定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代碼會爲我做這個伎倆。

回答

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]; 
} 
2

檢查服務器上的引用代理是圖像主機經常使用的常見技巧。然而,網絡從根本上被設計爲在其鏈接能力方面具有靈活性,並且因此不存在阻止所有可能性的可靠方法。最好的解決方案是需要flash文件聯繫auth服務器並檢查一些由原始站點傳遞給它的字符串。