在
Adobe Flash Player
升级到
9.0.124
后,由于安全策略更改,原来
Socket
或
XmlSocket
的应用里的
http
方式加载安全策略的手段不能继续使用。更改如下:
- 1,
首先检测目标服务器的
843
端口是否提供安全策略
- 2,
如果
1
没有检测到策略,则检测
actionscript
是否使用了
Security.loadPolicyFile(xmlsocket://)
手段提供安全策略,如果还没检测到,则使用第
3
步检测
在说具体处理方式前,我先描述一下
Flash Player
的验证过程。在
Flex
程序发出
Socket
或
XmlSocket(
以下统称为
Socket)
请求前,
FlashPlayer
会先判断是否为本地调用,如果不是。即用一个
Socket
去链接到你的服务端,三次握手成功后一方面发出字符串“
<policy-file-request/>\0
“另一方面监听返回的安全策略。安全策略接收成功后,
FlashPlayer
就断开验证的
Socket
,然后再运行程序本身的
Socket
。在整个
SWF
运行期间,无论你请求多少次,只要域相同,
FlashPlayer
就只验证一次。这里有两个重点:
- 第一个是验证的
Socket
和程序的
Socket
是两个
Socket
。所以你在本地测试时,服务端监听到
N
个
Socket
请求,但布置到服务端后,服务端会监听到
N+1
个请求。
- 第二是验证的
Socket
发送“
<policy-file-request/>\0
“请求和接收你的策略文件是没有先后关系的,所以你没必要接收完“
<policy-file-request/>\0
“后才发策略文件。我的做法是只要监听到请求,就把策略字符串发过去。
上面提供了三种方式处理安全策略。其实处理的办法差不多一样,就是要求服务端监听一个端口,如果客户端发来“
<policy-file-request/>\0
“请求,服务端就要返回你的安全策略的字符串。
策略文件两种格式
1、针对web应用的策略文件
<?xml version=”1.0″?>
<cross-domain-policy>
<allow-access-from domain=”*.endenvoy.com” />
<allow-access-from domain=”192.168.1.200″ />
</cross-domain-policy>
2、针对Socket的策略文件
<cross-domain-policy>
<allow-access-from domain=”*” to-ports=”507″ />
<allow-access-from domain=”*.example.com” to-ports=”507,516″ />
<allow-access-from domain=”*.example2.com” to-ports=”516-523″ />
<allow-access-from domain=”www.example2.com” to-ports=”507,516-523″ />
<allow-access-from domain=”www.example3.com” to-ports=”*” />
</cross-domain-policy>
其实如果你只是想让你的程序正常运行,可以直接写成<allow-access-from domain=”*” to-ports=”*” />这样就什么都能访问了。
套接字策略文件的介绍:http://www.java1995.cn/blog/item/249
分享到:
相关推荐
nodejs 闪存套接字策略... 这很有用,因此服务器端应用程序不需要处理策略请求。 在大多数 unix 环境中,低于 1000 的端口将需要 root 权限。 Adobe 的套接字策略默认使用端口 843。您可以使用 sudo 来运行此脚本。
由于同源策略的限制,Javascript存在跨域通信的问题,典型的跨域问题有iframe与父级的通信等。 常规的几种解决方法: (1) document.domain+iframe;...假如使用phonegap开发,就可以将请求文件安装在客户端
Crossdomain.mxml:用 FLEX 编写的脚本,利用宽松的跨域 Flash 策略文件向目标网站发出任意请求。 要编译,只需下载 FLEX SDK(可从)并运行mxmlc : $ ./mxmlc Crossdomain.mxml Loading configuration file C:\...
这样,服务器可在用户空间控制文件缓冲,从而准确判断文件是否在缓冲之中,并依此来调度请求,以提高处理器和磁盘的I/O并行度。同时,服务器可采用适应自身特点的缓冲和预读策略,以提高缓冲的命中率。作为示例,将...
使用SQL数据库的策略 第章:使用字节数组 读取并写入ByteArray ByteArray示例:读取zip文件 第章:网络和通信基础知识 网络接口 网络连接更改 域名系统(DNS)记录 第章:套接字 TCP套接字 UDP套接字(AIR) IPv地址 第章:...
21.3 定制模糊器的实例研究:SHOCKWAVE FLASH 21.3.1 SWF文件的建模 21.3.2 生成有效的数据 21.3.3 对环境进行模糊测试 21.3.4 测试方法 21.4模糊测试框架SULLEY 21.4.1 SULLEY目录结构 21.4.2 数据表示 21.4.3 会话...
添加SOAP头到WebSerice请求 18.11节. 解析WeBService的返回的SOAP响应 18.12节. 使用SecureAMFChannel进行AMF的安全通信 18.13节. 通过二进制Socket发送和接收二进制数据 18.14节. XMLSocket通信 第十九章. XML(607...
帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...
* 单击"浏览"打开资源管理器定位到文件,再点一下"浏览"却无法定位 * 下载对话框偶尔显示异常 [插件平台] * 扩展标签页切换时不能更新标题和地址栏 3.3.6.600_Beta 2012-03-08 本次更新包含下列新特性: + ...
13.2 迭代I2:探索内容的翻译策略 149 第14章 任务T:测试 151 14.1 加上测试 151 14.2 模型的单元测试 152 14.3 控制器的功能测试 161 14.4 应用程序的集成测试 175 14.5 性能测试 181 14.6 使用Mock对象 184 第3...
6、无法使用视频签到,看不到图像 : 进入 C:\windows\system32\macromed\flash\mms.cfg 这个进程,不要搜索,要手动,因为C盘把这些设为自动隐藏文件,然后删除mms.cfg,重启。 【第一次登录使用】 全新安装和...
4.2 页面自适应策略 24 4.2.1设备自适应 24 4.2.2.浏览器自适应 25 4.3 模块实现 25 4.3.1根据适口属性设计响应式布局: 26 4.3.2同分辨率范围内的流式布局设计 26 4.3.3移动端viewport属性设定 27 4.3.4组件样式的...
第 1 章 JavaScript 是什么...............................................1 3 1.1 历史简述..............................................1 1.2 JavaScript 实现................................................