(转)flash安全策略文件
转自:http://hi.baidu.com/haorui1130/item/d2cbbef174f0bfc6a835a21c
flash 安全策略
今天搞了一天的沙箱冲突的问题,头都搞大了,不过最终还是搞定了,哈哈,现在写一些感受,顺便发泄一下现在超爽的心情
flsah的安全策略做的还真是怪异,不研究一段时间还真不好掌握,网上说的flash socket端得到服务器安全策略的文章非常多,但是,基本上都是转载,核心思想只有三点:
1、通过843端口(传说中的adobe申请保留的端口),socket客户端链接socket服务器后,首先会查找843端口下有没有对应的安全策略文件,如果有就加载(废话)。
2、客户端执行Security.loadPolicyFile(“xmlsocket://www.xxx.com:1234”),此操作需要在socket.connect之前。到指定端口下载安全策略文件。
3、查找服务端socket的端口下有没有策略文件(最后的办法)。
执行步骤是这样的:
一、 如果我们没有使用Security.loadPolicyFile(),客户端首先访问843端口,如果有策略文件,则执行后续操作,也就是会执行我们自 己的socket,如果没有,则会查找服务器socket端口下有没有策略文件,如果还是没有就会提示:加载策略文件超时(3秒钟),然后会抛错:无法从 XXX加载数据。
二、如果我们使用Security.loadPolicyFile(),客户端会按照我们的要求从制定地址制定端口加载 策略文件,如果找不到,则会查找服务器socket端口下有没有策略文件,如果还是没有就会提示:加载策略文件超时(3秒钟),然后会抛错:无法从XXX 加载数据。
只要这些东西搞明白了,我想让人痛疼的flash 安全策略问题,就不会是问题了,good luck!
附上万能的crossdomain.xml:
1. <?xml version=”1.0″?>
2. <cross-domain-policy>
3. <allow-access-from domain=”*” to-ports="*"/>
4. </cross-domain-policy>
flsah的安全策略做的还真是怪异,不研究一段时间还真不好掌握,网上说的flash socket端得到服务器安全策略的文章非常多,但是,基本上都是转载,核心思想只有三点:
1、通过843端口(传说中的adobe申请保留的端口),socket客户端链接socket服务器后,首先会查找843端口下有没有对应的安全策略文件,如果有就加载(废话)。
2、客户端执行Security.loadPolicyFile(“xmlsocket://www.xxx.com:1234”),此操作需要在socket.connect之前。到指定端口下载安全策略文件。
3、查找服务端socket的端口下有没有策略文件(最后的办法)。
执行步骤是这样的:
一、 如果我们没有使用Security.loadPolicyFile(),客户端首先访问843端口,如果有策略文件,则执行后续操作,也就是会执行我们自 己的socket,如果没有,则会查找服务器socket端口下有没有策略文件,如果还是没有就会提示:加载策略文件超时(3秒钟),然后会抛错:无法从 XXX加载数据。
二、如果我们使用Security.loadPolicyFile(),客户端会按照我们的要求从制定地址制定端口加载 策略文件,如果找不到,则会查找服务器socket端口下有没有策略文件,如果还是没有就会提示:加载策略文件超时(3秒钟),然后会抛错:无法从XXX 加载数据。
只要这些东西搞明白了,我想让人痛疼的flash 安全策略问题,就不会是问题了,good luck!
附上万能的crossdomain.xml:
1. <?xml version=”1.0″?>
2. <cross-domain-policy>
3. <allow-access-from domain=”*” to-ports="*"/>
4. </cross-domain-policy>