[ActionScript 3.0] AS3 Socket安全沙箱策略文件

 當與一個主機創建一個Socket鏈接時,Flash Player要遵照以下安全沙箱規則:跨域

 1.Flash的.swf文件和主機必須嚴格的在同一個域名,只有這樣才能夠成功創建鏈接;
 2.一個從網上發佈的.swf文件是不能夠訪問本地服務器的;
 3.本地未經過認證的.swf文件是不能夠訪問任何網絡資源的; 
 4.你想跨域訪問或者鏈接低於1024的端口,必須使用一個跨域策略文件;
安全

        若是嘗試鏈接未認證的域或者低端口服務,這樣就違反了安全沙箱策略,同時會產生一個securityError事件。這些狀況均可以經過使用一個跨域策略文件解決,不管是Socket對象仍是XMLSocket對象的策略文件,都必須在鏈接以前經過使用 flash.system.Security.loadPolicyFile()方法載入策略文件,方法以下:服務器

Security.loadPolicyFile("http://www.yanzimen.com/crossdomain.xml");網絡

        得到的改策略文件不只定義了容許的域名,還定義了端口號,若是你不設置端口號,那麼Flash Player默認爲80端口(HTTP協議默認端口)。在<allow-access-from>標籤中能夠使用逗號隔開設置多個端口號,下面這個例子就是容許訪問80和8080端口。dom

 

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.yanzimen.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy> 
    <allow-access-from domain="*" to-ports="80,8080" /> 
</cross-domain-policy> 
 
相關文章
相關標籤/搜索