文档章节

实际项目中解决 flash 通信中的安全沙箱问题。

SueYY
 SueYY
发布于 2012/07/27 15:14
字数 314
阅读 268
收藏 1
flash 的socket 编程不就说了,本篇旨再解决沙箱问题。

文本列出 C# PHP nodejs 为服务器端程序时出现的沙箱问题。

何为安全沙箱,请大家在百度谷歌一下!

当服务端和 flex 通信时 ”出现Security错误, Error #2048 。并且在连接时, 服务端收到客户端发来的消息<policy-file-request/> 消息。“

解决方案:

服务端收到 <policy-file-request/>消息时,直接向客户端发送一条消息,内容就是配置好策略文件 并关闭当前连接

PHPCODE:

private $flashPolicy = '<cross-domain-policy><allow-access-from domain="*" to-ports="8001" /></cross-domain-policy>';

//解决flash安全沙箱问题 if($lines[0] == "<policy-file-request/>\0")       //收到 <policy-file-request/> 时,结尾以\0结束 { $this->server->writeBuffer($this->socket, $this->flashPolicy); //写给客户端 stream_socket_shutdown($this->socket, STREAM_SHUT_RDWR);            //重点。要关闭当前的连接,原因后面说 return false; }


C#

if (0 == strcmp("<policy-file-request/>", szRecvBuff)) { if (strlen(szPolicy) == sockClient.Send(szPolicy, strlen(szPolicy))) { printf_s("# Send policy xml string successful./n"); } else { printf_s("# Error! Send policy xml string failed./n"); } sockClient.Close(); //***重点在这里*** RemoveClient(m_vsockClients[i--]); continue; }


nodejs

flashPolicy = '<cross-domain-policy><allow-access-from domain="*" to-ports="*" /></cross-domain-policy>';

var _headers = data.split("\r\n"); if ( /<policy-file-request.*>/.exec(_headers[0]) ) { socket.write( options.flashPolicy ); socket.end(); return; }


代码不多说,各有个的风格,步骤如上。

这样就解决了flash的沙箱问题。

祝大家好运!

© 著作权归作者所有

SueYY

SueYY

粉丝 6
博文 5
码字总数 1781
作品 1
西城
高级程序员
私信 提问
回头再说:Uploadify跨域上传原理

《 回头再说:jQuery跨域原理 》一文提到浏览器的同源策略以及使用JsonP的方式实现跨域;在评论中金色海洋提出了一个问题: 我最近在用 uploadify + ashx 来做文件上传的功能。都测试成功了,但...

唐玄奘
2017/12/03
0
0
SecurityError: Error #2148: SWF 文件 (SWF 文件不能访问本...

出错信息: SecurityError: Error #2148: SWF 文件 不能访问本地资源 。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。 at flash.net::URLStream/load() at flash.ne...

Lofo
2013/11/08
315
0
干货!KCon 2019 议题 PPT 公开

2019 KCon 黑客大会在经过首日高质量的闭门培训,以及为期两天的精彩议题分享后,已于8月25日圆满落幕。 应各位参会者的要求,并通过会务组与演讲者沟通取得同意后,现在将公布18大议题中的1...

08/29
0
0
自动为 C/C++ 库生成沙箱 - Sandboxed API

Sandboxed API 用于在 Linux 系统上运行的 C/C++ 库,是谷歌公司内部多年来一直在数据中心使用的工具,可以帮助开发人员免受恶意用户的输入和漏洞利用,为各个软件库创建安全策略。 Sandboxe...

匿名
03/19
674
0
Chrome 诞生 10 年,网络环境也变了

9月10日消息,《连线》网站撰稿回顾了诞生至今十年间Chrome浏览器在安全性上的演变历程。 很多人或许想不起Chrome浏览器诞生之前的情形。这款浏览器已迎来十周岁生日。它如此热门的背后原因之...

局长
2018/09/10
2.9K
3

没有更多内容

加载失败,请刷新页面

加载更多

UAVStack功能上新:新增JVM监控分析工具

UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据;同时提供JVM基本参数获取、内存dump、线程分析、内存分配采样和热点方法分析等功能。 引言 作为...

宜信技术学院
25分钟前
6
0
MySQL的5种时间类型的比较

日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00 TIMESTAMP 4 bytes YYYY-MM......

物种起源-达尔文
32分钟前
6
0
云服务OpenAPI的7大挑战,架构师如何应对?

阿里妹导读:API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。比较好的API设计样板可以参...

阿里云官方博客
35分钟前
5
0
Rancher + VMware PKS实现全球数百站点的边缘K8S集群管理

Sovereign Systems是一家成立于2007年的技术咨询公司,帮助客户将传统数据中心技术和应用程序转换为更高效的、基于云的技术平台,以更好地应对业务挑战。曾连续3年提名CRN,并且在2012年到2...

RancherLabs
40分钟前
5
0
6、根据坐标,判断该坐标是否在地图区域范围内

最近在写配送区域相关的代码,具体需求如下: 根据腾讯地图划分配送区域,总站下边设多个配送分站,然后将订单中的收货地址将其分配给不同的配送分站。 1、地图区域划分(腾讯地图) 1.1、H...

有一个小阿飞
41分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部