學習筆記 Flex安全沙箱概述
本文和大家重點討論一下Flex安全沙箱的概念,Flex安全沙箱主要包括遠程沙箱和本地沙箱兩大部分內容,其中遠程沙箱控制著遠程域上,瀏覽器環境中的安全策略。
Flex安全沙箱
1、遠程沙箱:
這個遠程沙箱控制著遠程域上,瀏覽器環境中的安全策略,比如http://xeye.us/域中的Flash文件就無法單刀直入地與http: //hi.baidu.com/ycosxhack域上的Flash文件交互。同一個域(嚴格域)下的所有文件屬于一個沙箱,沙箱內的對象是可以互相返回,而沙箱之間的對象需要交互的話,得靠上面介紹的權限控制的“Web 站點控制(跨域策略文件)”與“作者(開發人員)控制”進行了。
2、本地沙箱:
出來個本地沙箱,沒辦法,Flash與Flex文件可以在我們的桌面環境下運行。如果沒有個很好的安全策略來限制這些功能不弱的AS腳本的話,那絕對是很危險的事。
它有三種類型:
a)、只能與本地文件系統內容交互的本地沙箱:顧名思義,就是該Flash文件在本地運行時是不能與網絡上的對象進行通信的,而只能與本地對象進行交互。
b)、只能與遠程內容交互的本地沙箱:還是顧名思義,此時的Flash文件要與遠程域對象交互時,需在遠程域上通過策略文件或以Security.allowDomain編碼方式來設置訪問策略(同遠程沙箱)。此時不能訪問本地文件。
c)、Flex安全沙箱中受信任的本地沙箱:完美了,上面介紹的權限控制中,管理用戶與普通用戶都有Flash Player信任目錄的控制權限,只要將我們的SWF文件放到受信任目錄內運行,那么這個Flash文件就可以與本地域和遠程域通信了:)。
當然以上這些Flex安全沙箱類型,我們可以通過編碼來確定當前運行的Flash文件被分配到什么類型的沙箱中。還是通過Security類:Security.sandboxType值:
Security.REMOTE(遠程沙箱)
Security.LOCAL_WITH_FILE(只能與本地文件系統內容交互的本地沙箱)
Security.LOCAL_WITH_NETWORK(只能與遠程內容交互的本地沙箱)
Security.LOCAL_TRUSTED(受信任的本地沙箱)
【編輯推薦】