您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Flex如何解決安全沙箱問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
跨域文件讀取
方法一:在目標服務器上布署crossdomain.xml文件(我用的此方法很管用,放上就沒問題了)需要遠程服務根目錄定義有crossdomain.xml文件,如下:
<?xmlversion="1.0"encoding="UTF-8"?><cross-domain-policy><allow-access-fromdomain="*"/></cross-domain-policy>
方法二:使用代理,把Flex要訪問的遠程文件通過asp,php,jsp等腳本讀取到本地,然后再由Flex去訪問;
方法三:使用Adobeflashplayer9打開程序后,點擊菜單欄中文件->創建播放器...即生成exe文件,運行exe文件即可突破安全限制;
方法四:
1、找到這個文件夾:c:\DocumentsandSettings\<UserName>\ApplicationData\Macromedia\FlashPlayer\#Security
2、在其下建立一個名為"FlashPlayerTrust"的文件夾
3、在"FlashPlayerTrust"文件夾下新建一TXT文件,內容如下:c:\d:\e:\f:\
4、將該txt文件命名為:"myTrustFiles.cfg"再打開你硬盤里的SWF文件,就不會出現那個煩人的安全設置提示窗口了!
方法五:用HttpService它默認是有Proxy的,需要配置flex-config.xml,里面有一段:<http-service-proxy><whitelist>………………</whitelist></http-service-proxy>
這個是白名單,一般情況下是注釋掉的,也就是默認只有本地的http://{localserver}/*和https://{localserver}/*可以訪問。其他的需要在flex-config.xml里的自行修改成需要的就可以了。
訪問本地自然不會跨域,不過你肯定訪問局域網其他機器了,所以是依照白名單規則,屬于跨域
Socket沙箱問題
在Flex安全沙箱中使用Socket進行通信時,也會受到Flash9的新安全策略的困擾.解決方法不能像在Web服務器中布置一個crossdomain.xml來解決,或是在服務器上專門開啟843端口來提供安全策略.有一種方法就是在接收到客戶端的連接后,向其發送安全策略.
比如我是用JAVA來開發,客戶端的Flex會先搜索同域,及服務器的843口,看是否能得到安全策略,這時候Socket是先建立好的,可以在接收到Socket,即Accept事件發生是,馬上向其發送策略串,否則客戶端就會因為安全策略不過關,于斷開,如果成功獲取策略,則客戶端將斷掉先前的那次Socket,再真正進行程序中你要求的Socket連接請求.
關于“Flex如何解決安全沙箱問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。