日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

關(guān)于 XMLSocket 策略文件...

 jimmylin88cn 2007-09-04

關(guān)于 XMLSocket 策略文件

對(duì)于 XMLSocket 連接試圖而言,F(xiàn)lash Player 7 (7.0.14.0) 會(huì)在試圖連接的子域內(nèi)的 HTTP 服務(wù)器(端口 80)上查找 crossdomain.xml。Flash Player 7 (7.0.14.0) 以及所有早期版本將 XMLSocket 連接限制在端口 1024 和更高的端口。但是,在 Flash Player 7 (7.0.19.0) 和更高版本中,ActionScript 可以使用 System.security.loadPolicyFile 將策略文件的非默認(rèn)位置通知 Flash Player。XMLSocket 策略文件的任何自定義位置都必須仍在 XML 套接字服務(wù)器上。

在下面的示例中,F(xiàn)lash Player 從指定的 URL 檢索策略文件:

System.security.loadPolicyFile("http://www.adobe.com/folder/policy.xml");

由該位置的策略文件授予的所有權(quán)限均適用于服務(wù)器層次結(jié)構(gòu)中與該位置同層或低于該層的所有內(nèi)容。因此,如果您試圖加載下面的數(shù)據(jù),會(huì)發(fā)現(xiàn)只能加載某些位置的數(shù)據(jù):

myLoadVars.load("http://www.adobe.com/folder/vars.txt"); // 允許
myLoadVars.load("http://www.adobe.com/folder/dir/vars2.txt"); // 允許
myLoadVars.load("http://www.adobe.com/elsewhere/vars3.txt"); // 不允許

要解決此問題,可以使用 loadPolicyFile 向一個(gè) SWF 文件加載多個(gè)策略文件。Flash Player 總是等所有策略文件下載完畢后,才會(huì)拒絕需要策略文件的請(qǐng)求。如果 SWF 中沒有其它授權(quán)的策略,則 Flash Player 將查詢 crossdomain.xml 的默認(rèn)位置。

特殊語法允許直接從 XMLSocket 服務(wù)器檢索策略文件:

System.security.loadPolicyFile("xmlsocket://adobe.com:414");

在本例中,F(xiàn)lash Player 試圖從指定的主機(jī)和端口檢索策略文件。如果策略文件不在默認(rèn)(根)目錄中,可以使用任意端口;否則只能使用端口 1024 和更高的端口(與早期版本的播放器相同)。建立與指定端口的連接后,F(xiàn)lash Player 將發(fā)送 <policy-file-request />,以空字節(jié)結(jié)束。

可以配置 XML 套接字服務(wù)器,使其通過以下方式提供策略文件:

  • 在同一端口上提供策略文件和常規(guī)套接字連接。在傳送策略文件之前,服務(wù)器應(yīng)等待 <policy-file-request />。
  • 通過常規(guī)連接在不同端口上提供策略文件,在這種情況下,可以在專用策略文件端口上建立了連接之后立刻發(fā)送策略文件。

服務(wù)器必須在關(guān)閉連接前發(fā)送一個(gè)空字節(jié)以終止策略文件。如果服務(wù)器不關(guān)閉連接,則 Flash Player 將在接收到結(jié)束空字節(jié)時(shí)關(guān)閉連接。

XML 套接字服務(wù)器提供的策略文件具有與其它策略文件相同的語法,只是它還必須指定授予訪問權(quán)限的端口。允許的端口在 <allow-access-from> 標(biāo)簽中的 to-ports 屬性中指定。如果策略文件的端口低于 1024,則它可以給任何端口授予訪問權(quán)限;如果策略文件來自端口 1024 或更高端口,則它只能給高于 1024 的其它端口授予訪問權(quán)限。允許使用單端口號(hào)、端口范圍和通配符。下面的代碼是一個(gè) XMLSocket 策略文件的示例:

<<cross-domain-policy>>
<<allow-access-from domain="*" to-ports="507" />>
<<allow-access-from domain="*.adobe.com" to-ports="507,516" />>
<<allow-access-from domain="*.helpexamples.com" to-ports="516-523" />>
<<allow-access-from domain="www.adobe.com" to-ports="507,516-523" />>
<<allow-access-from domain="www.helpexamples.com" to-ports="*" />>
<</cross-domain-policy>>

因?yàn)檫B接到 1024 以下的端口的能力是 Flash Player 7 (7.0.19.0) 和更高版本中的新功能,因此即使 SWF 文件連接到它自己的子域,也總是需要使用通過 loadPolicyFile 加載的策略文件來進(jìn)行授權(quán)。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多