Flash作為一種客戶端的前臺腳本技術(shù),本來是不應(yīng)該賦予更強大的功能的。
但是隨著Flash技術(shù)的發(fā)展,目前已然能夠讀xml文件,載入多媒體內(nèi)容,
甚至直接與服務(wù)器端進行Socket通信。
當(dāng)然,這些還不夠,F(xiàn)lash與js,F(xiàn)lash與Flash之間也已然實現(xiàn)了交互通信。
這樣導(dǎo)致的結(jié)果就是帶來了大量令人頭疼的安全問題。
于是Flash在它的AS3.0里提出了安全沙箱這一概念。
在未經(jīng)授權(quán)的情況下,F(xiàn)lash默認狀態(tài)是不允許進行跨域通信的,這樣就使得Flash的安全可靠性得到了提高。
可同時也帶來了意想不到的麻煩:我制作了一個Flash,在頁面中用js腳本控制as腳本,然后使用FlashCS3的發(fā)布功能發(fā)布了該Flash,
上傳到網(wǎng)站上后,問題出現(xiàn)了,此時Flash無論執(zhí)行任何訪問外界的as腳本均會提示安全沙箱問題!
即使是打開鏈接地址也會出現(xiàn)警告!
解決的辦法很簡單,連我自己后來都覺得很詫異:將調(diào)用Flash的參數(shù):allowScriptAccess的值改為always即可。
例如:<param name="allowScriptAccess" value="always" />
用js來控制Flash的安全訪問?是不是有點自欺欺人?嘿嘿?