当flashplayer升级到9.0.115.0之后,当flash文件要进行socket通信的时候,需要向服务器端获取crossdomain.xml文件。在9.0.115.0之前的版本的flash是可以和socket进行正常通信的。在升级后的版本后,就出现客户端无法连接服务器的现象。 Socket沙箱设置主要涉及到Flash Player的安全策略,尤其是自9.0.115.0版本之后,对于跨域Socket通信的限制更为严格。这个安全策略的目的是为了防止恶意的跨域数据访问,保护用户信息安全。以下是对这个知识点的详细解释: 1. **Socket通信与crossdomain.xml**: 当Flash Player在9.0.115.0及以上版本进行Socket通信时,它会检查服务器是否提供了`crossdomain.xml`文件。这个文件定义了哪些外部域的Flash内容可以访问服务器资源。如果缺少此文件,Flash Player会阻止Socket连接,导致错误`SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"`。 2. **跨域访问规则**: - 默认情况下,Flash内容可以向其他域发送数据,但不能从其他域接收数据,这就是所谓的非对称权限。 - 在同一域名下,Flash可以无限制地访问和交互资源。 - 对于不同域名,如果想要允许访问,必须在服务器端提供`crossdomain.xml`文件来声明允许哪些域进行访问。 3. **Loader和UrlLoader的跨域读取**: - 使用`Loader`加载非SWF文件(如文本、图片)时,需要手动调用`Security.loadPolicyFile()`加载`crossdomain.xml`。 - `UrlLoader`在加载文件时会自动尝试加载域名下的`crossdomain.xml`。 4. **crossdomain.xml配置**: - 根节点`<cross-domain-policy>`下可以放置`allow-access-from`标签来指定允许的源域。 - `domain`属性用于设置允许访问的域,可以是IP地址、特定域名或者通配符(*)表示任何域。 - `site-control`标签的`permitted-cross-domain-policies`属性控制策略文件的加载策略。 5. **安全注意事项**: - 设置`all`作为`permitted-cross-domain-policies`值是非常危险的,因为它允许任何文件作为策略文件加载,这可能导致安全漏洞。 - 更推荐使用`master-only`或`by-content-type`这样的策略,以限制策略文件的加载方式。 Socket沙箱设置是Flash Player中关键的安全机制,它确保了跨域数据交互的安全性。开发者需要根据自己的应用需求正确配置`crossdomain.xml`文件,以允许或限制不同域的访问权限,同时保持用户数据的安全。在实际开发过程中,需要密切关注Flash Player的更新,以确保代码与最新安全策略兼容。
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 10、安徽省大学生学科和技能竞赛A、B类项目列表(2019年版).xlsx
- 9、教育主管部门公布学科竞赛(2015版)-方喻飞
- C语言-leetcode题解之83-remove-duplicates-from-sorted-list.c
- C语言-leetcode题解之79-word-search.c
- C语言-leetcode题解之78-subsets.c
- C语言-leetcode题解之75-sort-colors.c
- C语言-leetcode题解之74-search-a-2d-matrix.c
- C语言-leetcode题解之73-set-matrix-zeroes.c
- 树莓派物联网智能家居基础教程
- YOLOv5深度学习目标检测基础教程