關於LoaderContext的解釋

2021-09-01 04:15:01 字數 1218 閱讀 9803

這裡swf指被載入的swf,loader是載入方。

securitydomain

只對swf有效,無效。

如果載入同乙個域(伺服器)下的swf,那麼總是和loader同一securitydomain,這個不叫import。

如果使用loader.loadbytes(),則必然和loader同乙個securitydomain,這個叫import。

如果使用load載入不同域的swf:

預設為另乙個securitydomain,沒有import。

可以選擇設定為和loader同乙個securitydomain(不能設其他的securitydomain),這個是import,這個行為稱為import loading,等同於把那個不同域的swf拷貝到當前伺服器域內載入。被載入的swf所在伺服器必須有policy file信任loader所在域。

看官方文件的過程發現乙個漏洞 ,其他人已經寫文闡述了繞開as3安全沙箱,跨域載入swf 。

沙盒中的程式訪問stage的屬性、滑鼠事件、畫素繪製、其他一些屬性受限。這是父swf限制子swf訪問。

而cross-domain policy files則是子swf所在域防止父swf對其載入,有點搞不懂了,到底出於安全需要誰需要限制誰?

從跨域指令碼攻擊來說,應該是子swf限制父swf訪問子的介面。

allowcodeimport

是否允許import swf:

1.使用loader.loadbytes()載入swf。

2.使用loader.load() 從其他域載入swf時,設定 loadercontext.securitydomain = securitydomain.currentdomain。

對於沒影響,對於當前域的swf也沒影響。

這裡父swf指loader所在swf,子swf指被載入的swf。

父子雙方可以直接使用對方定義的class。

重複定義的class:使用父swf定義的,子swf定義的被忽略。怎麼獲取子swf定義的不知道是否可以通過getdefinition獲得。

3.system domain作為子swf的父域。

雙方只能通過對方的getdefinition獲得對方**中類的定義。

不會發生衝突。

4.其他域作為子swf的父域

只要使同乙個security domain下的就行。

checkpolicyfile

因為涉及其他域,只對load有效,對loadbytes無效。

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...