Flex安全沙箱解決方案

2021-08-29 17:36:19 字數 3322 閱讀 8106

開發中遇到了安全沙箱的問題,一下有幾種解決方案:

1. system.security.allowdomain("*");

如果要允許多個域,可以用逗號隔開:

system.security.allowdomain("www.windshow.com", "windshow.com", "player.windshow.com");

2.關於flex跨域讀取乙個

比如 假設你的伺服器事 [url= 而你的乙個flex檔案位於 [url= /flex/myfalsh.swf

當乙個客戶來訪問你的這個myfalsh.swf 檔案 而你的這個檔案又要去 [url= 這裡把這個載入到flash中

怎麼辦? 最簡單的方法就是 var l:loader = new loader; l.load(new urlrequest("")); 這個方式如果你的flash是直接放在本地目錄上執行那還可以

放在伺服器上 載入 立馬 報錯 安全沙箱衝突

看了看loader 的 load的方法load(request:[url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/flash/net/urlrequest.html]urlrequest[/url], context:[url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/flash/system/loadercontext.html]loadercontext[/url] = null):[url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/specialtypes.html#void]void[/url]

context:[url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/flash/system/loadercontext.html]loadercontext[/url] 這個幹嗎用的? 再看看幫助 原來是用來設定執行域 和 設定是否載入安全策略檔案的

當然使用方法是 var lc:[url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/flash/system/loadercontext.html]loadercontext[/url] = new [url=http://mce_host/admin/blogs/265174/mk:@msitstorec\documents%20and%20settings\qkaibo.aixia\桌面\adobe_flex_2.0.1_language_reference_[flex2.org].chm::/langref/flash/system/loadercontext.html]loadercontext[/url](true);

var l:loader = new loader; l.load(new urlrequest(""),lc); 這樣行嗎? 一樣不行

還要放乙個 安全策略檔案 放在對方伺服器的根目錄下面 名稱為:[b]crossdomain.xml 最好是這個名字 省得多寫**[/b]

內容為

<?xml version="1.0"?>

<?xml version="1.0"?>

所以這種方式有個很大弊病 就是要在對方伺服器上放這麼乙個檔案 , 別人還肯給你放啊 ? 要不就是傻了

3.很自然的就是想到用**方法 就是 用asp,php 等類似的程式去把這種讀回來 然後傳給flex

具體: 放乙個如 getpic.asp 在伺服器上 和myfalsh.swf 同乙個目錄

getpic.asp的**為

myfalsh.swf 種的**這樣寫

private var _loader:loader;

private var _loadurl:string;

public function fileloader(url:string)

//載入

public function load():void

public function get content():displayobject

private function onloadcompleateevent(e:event):void

private function onloadioerrorevent(e:ioerrorevent):void

呼叫方法

fileloader( /flex/myfalsh.swf?url=

4.blaseds時候使用的解決方案

將endpoint中ip位址改為伺服器的ip位址

Flex 安全沙箱

1.網路訪問的swf檔案,security.sandboxtype值為remote,這種情況下通過伺服器上的跨域檔案crossdomain.xml判斷是否能夠跨域訪問。比如http site1 flash1.swf需要訪問http site2上的資源,則需要在site2伺服器上crossdomain...

flex提示安全沙箱

網上的方法很多,我看的不下6中,但是就是不管用,我的情況是,在程式沒發布時,直接執行沒錯誤,但是當發布時,訪問就錯了,提示securityerror error 2048 安全沙箱衝突 http localhost 8086 index.swf 不能從 http www c8d8bc651c4 ar...

安全解決方案

專案收集的思路 乙個是關注網際網路企業 團隊的安全開源專案,經企業內部實踐,這些最佳實踐值得借鑑。另乙個是來自企業安全能力建設的需求,根據需求分類,如waf hids git監控等。這個收集是乙個長期的過程,我在github建立了乙個專案,專門用來收集一些優秀的甲方安全專案。專案內容 根據企業安全能...