当与一个主机创建一个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>