Flex安全沙箱问题解决方法详解

开发 后端
Flex安全沙箱问题你是否遇到过,这里向大家简单介绍一下关于Flex安全沙箱问题的解决,希望本文的介绍能让你有所收获。

本文和大家重点讨论一下Flex安全沙箱问题的解决,主要介绍一下跨域文件读取和Scoket沙箱两部分内容,希望本文的介绍对你的学习有所帮助。

关于Flex安全沙箱问题的解决

最近遇到了Flex安全沙箱问题,找了很多资料发现不是都是和我,我的程序需要socket连接,而大多数讲的都是跨域文件读取的。我先把两种方法都总结出来:

跨域文件读取

方法一:在目标服务器上布署crossdomain.xml文件(我用的此方法很管用,放上就没问题了)需要远程服务根目录定义有crossdomain.xml文件,如下:

  1. <?xmlversionxmlversion="1.0"encoding="UTF-8"?> 
  2.  
  3. <cross-domain-policy> 
  4.  
  5. <allow-access-fromdomainallow-access-fromdomain="*"/> 
  6.  
  7. </cross-domain-policy> 

方法二:使用代理,把Flex要访问的远程文件通过asp,php,jsp等脚本读取到本地,然后再由Flex去访问;

方法三:使用Adobeflashplayer9打开程序后,点击菜单栏中文件->创建播放器...即生成exe文件,运行exe文件即可突破安全限制;

方法四:

1、找到这个文件夹:c:\DocumentsandSettings\<UserName>\ApplicationData\Macromedia\FlashPlayer\#Security

2、在其下建立一个名为"FlashPlayerTrust"的文件夹

3、在"FlashPlayerTrust"文件夹下新建一TXT文件,内容如下:c:\d:\e:\f:\

4、将该txt文件命名为:"myTrustFiles.cfg"再打开你硬盘里的SWF文件,就不会出现那个烦人的安全设置提示窗口了!

方法五:用HttpService它默认是有Proxy的,需要配置Flex-config.xml,里面有一段:

  1. <http-service-proxy><whitelist>………………</whitelist></http-service-proxy> 

这个是白名单,一般情况下是注释掉的,也就是默认只有本地的http://{localserver}/*和https://{localserver}/*可以访问。其他的需要在Flex-config.xml里的自行修改成需要的就可以了。

访问本地自然不会跨域,不过你肯定访问局域网其他机器了,所以是依照白名单规则,属于跨域

Socket沙箱问题

再来看一下Flex安全沙箱中Socket沙箱问题,在Flex中使用Socket进行通信时,也会受到Flash9的新安全策略的困扰.解决方法不能像在Web服务器中布置一个crossdomain.xml来解决,或是在服务器上专门开启843端口来提供安全策略.有一种方法就是在接收到客户端的连接后,向其发送安全策略。

比如我是用JAVA来开发,客户端的Flex会先搜索同域,及服务器的843口,看是否能得到安全策略,这时候Socket是先建立好的,可以在接收到Socket,即Accept事件发生是,马上向其发送策略串,否则客户端就会因为安全策略不过关,于断开,如果成功获取策略,则客户端将断掉先前的那次Socket,再真正进行程序中你要求的Socket连接请求.

【编辑推荐】

  1. 解析Flex安全沙箱五大解决方法
  2. Flex安全沙箱问题解决方法
  3. 学习笔记 Flex安全沙箱概述
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. Flex内存泄露解决方法和内存释放优化原则

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-29 15:28:47

Flex安全沙箱

2010-07-30 12:40:00

Flex跨域访问

2009-02-18 14:28:23

编码乱码JSP

2009-12-28 10:56:45

WPF Image

2011-05-18 14:00:30

在线备份

2010-07-29 15:44:54

Flex安全沙箱

2009-02-26 11:13:41

Weblogic中间件JSP

2009-07-17 14:33:05

Jython中文问题

2009-12-22 11:21:43

WCF跨域访问

2010-05-26 11:08:33

SVN管理

2009-06-09 15:51:07

Java ee中文问题解决方法

2009-08-14 13:49:58

Rails中文问题

2009-11-17 10:43:59

ubuntu 9.10输入法解决方法

2010-05-11 15:09:51

Unix系统

2009-10-29 10:04:57

VB.NET Read

2010-01-13 21:06:37

双绞线

2010-05-26 17:13:54

SVN提交

2011-04-25 15:15:00

C#

2011-06-14 13:41:27

muleWSDL

2011-03-18 18:47:34

QtMySQL
点赞
收藏

51CTO技术栈公众号