日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

解决Flex/Flash跨域访问出现的安全沙箱问题

發(fā)布時(shí)間:2024/6/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决Flex/Flash跨域访问出现的安全沙箱问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

flash里有著著名的安全沙箱機(jī)制,我們需要用flash實(shí)現(xiàn)跨域訪問(wèn)遠(yuǎn)程URL時(shí),會(huì)遇到下面幾種相關(guān)的安全沙箱問(wèn)題:

問(wèn)題1:

Flash/Flex,會(huì)涉及到跨域訪問(wèn)URL的安全性問(wèn)題,最常見(jiàn)的就是出現(xiàn)" 訪問(wèn)URL時(shí)遇到安全性錯(cuò)誤",這也是人們以前常說(shuō)的安全沙箱問(wèn)題,解決方案是在目標(biāo)域名根目錄加入跨域策略文件crossdomain.xml,例如:

<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*.techmango.com" /> </cross-domain-policy>

這表示目標(biāo)源允許*.techmango.com下的資源訪問(wèn)該域名下的資源.

問(wèn)題2:

如果涉及到Socket,跨域策略文件中需要加入to-ports,例如:

<cross-domain-policy>?? <allow-access-from domain="*" to-ports="507" />?? <allow-access-from domain="*.example.com" to-ports="509,516" />?? <allow-access-from domain="*.example1.com" to-ports="517-521" />?? </cross-domain-policy> 這個(gè)策略文件是指定允許哪些域的主機(jī)通過(guò)那些端口鏈接.

問(wèn)題3:

如果在訪問(wèn)Webservice需要用到SOAPHeader驗(yàn)證,跨域策略文件做相應(yīng)修改,例 如:

<cross-domain-policy>
??? <allow-access-from domain="*.chenfeisoft.com" />
??? <allow-http-request-headers-from domain="*.techmango.com" headers="*"/>
</cross-domain-policy>

否則會(huì)出現(xiàn)DefaultHTTP錯(cuò)誤.

問(wèn)題4:

跨域訪問(wèn)第三方組件提供的數(shù)據(jù),如BlazeDS,也會(huì)遇到DefaultHTTP錯(cuò)誤.這需要服務(wù)器及UI端做相應(yīng)配置,例如:

[Service端]

在服務(wù)器端的配置文件中,找到proxy-config.xml文件,里面有一個(gè)默認(rèn)的destination節(jié)點(diǎn): <destination id="DefaultHTTP"> </destination>

默認(rèn)代理的destination將轉(zhuǎn)向客戶端指定的URL進(jìn)行請(qǐng)求。首先你必須使用dynamic-url屬性來(lái)指定允 許代理的destinations.如下:

把你要訪問(wèn)的URL都配置到dynamic-url節(jié)點(diǎn)里。

<destination id="DefaultHTTP">
??????? <properties>
??????????????? <dynamic-url>http://cnn.com/*</dynamic-url>
??????????????? <dynamic-url>http://news.yahoo.com/*</dynamic-url>
??????? </properties>
</destination>
修改后,保存。
[UI端]:
為了Flex應(yīng)用能夠訪問(wèn)代理服務(wù),要確保你的應(yīng)用程序指向正確的service,并設(shè)置useProxy 屬性為ture.如:
<mx:HTTPService url=”http://cnn.com” useProxy=”true” />
<mx:WebService url=”http://cnn.com/api?wsdl” useProxy=”true” />
編譯UI,重新部署。若不能正常讀取RSS的信息,檢查是否設(shè)置了channelSet; channelSet 是HTTPService的屬性,一定要設(shè)置。一般來(lái)講HTTPService和RemoteObjcet的channelSet是一樣的。

轉(zhuǎn)載于:https://www.cnblogs.com/techmango/archive/2011/05/20/Solve_Flex_access_URL_encounter_security_error.html

總結(jié)

以上是生活随笔為你收集整理的解决Flex/Flash跨域访问出现的安全沙箱问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。