繞開AS3安全沙箱,跨域載入SWF

2021-09-23 07:31:20 字數 974 閱讀 8145

as3的安全沙箱的確是讓人很無奈,本篇文章僅用於解決乙個特定的問題,即a伺服器上的swf檔案通過http訪問b伺服器上的檔案,此時即使b伺服器上設定了allowdomain.xml,也無濟於事,b伺服器上被載入的檔案除必須的allowdomain.xml外,還必須使用security.allowdomain("*")才能消除安全沙箱(注:此時只能是swf檔案才能設定,等無法設定)。對於無法使用security.allowdomain("*")的檔案,我們就可以使用下面這種方式。

使用loader載入外部檔案的時候,如果不出現錯誤,檔案是可以成功載入進來的,只不過是在使用該檔案時,flash會報安全沙箱錯誤,我們可以使用一種方式繞過該安全沙箱,具體操作如下:

1、首先使用乙個loader載入乙個外部swf,監聽loader.contentloaderinfo的event.complete事件;

2、載入成功後,先暫時不使用這個載入成功的loader,而是另寫乙個loader,使用loader.loadbytes()來載入第乙個loader的contentloaderinfo.bytes;

3、在第二個loader載入成功後,就可以使用被載入的檔案了;

示例**:

public function load():void 

private function loader1complete(event:event):void 

private function loader2complete(event:event):void 

public function load():void

private function loader1complete(event:event):void

private function loader2complete(event:event):void

注意:使用上面的方式,也應該注意b伺服器上有allowdomain.xml檔案

posted on 2010-09-07 11:24收藏

如何禁止chrome跨域安全檢查

在我們日常程式設計的過程中經常需要除錯乙個js檔案,這個js檔案中可能需要進行跨域操作。瀏覽器缺省會進行跨域安全檢查,這對於開發人員來說很不方便,chrome提供一種方法可以禁用chrome的跨域安全檢查。啟用的方法 ubuntu 使用命令列 chromium browser disable web...

前端安全學習 跨域和CSRF

跨域並不是請求發不出去,請求能發出去,服務端能收到請求並正常返回結果,只是結果被客戶端 瀏覽器 攔截了。只能get,js建立script ie10以上支援,需要服務端配置 html5方法,應用於主頁面和iframe之間的資料傳遞 頁面向子頁面傳遞 主頁面 子頁面 window.onmessage e...

介紹as3安全問題的文章

掌握安全模型 安全模型從as2開始一直都是學習上的攔路虎。as3安全模型比起as2更加複雜。凡是包括載入與通訊的行為,如swf檔案之間的通訊,swf與網頁之間的通訊,xmlsocket或webservice等都受到安全機制的限制。在幫助檔案中隨時會提醒你注意安全模型。並且稱作焦點問題。最大的問題是當...