本文和大家重点讨论一下Flex安全沙箱问题的解决,关于Flex安全沙箱问题的解决前些天做了一个Flex的小程序,通过访问服务前端的xml来更新数据,本地调试无误但换成服务器端时出现错误,下面本文介绍几个解决方法,希望对你有所帮助。
Flex安全沙箱问题的解决
关于Flex安全沙箱问题的解决前些天做了一个Flex的小程序,通过访问服务前端的xml来更新数据,在本地调试调用本地的xml文件是没有问题的,可把url换成服务器端时就出现了SecurityError,通过上网查找断定是Flex安全沙箱的问题,下面是在网上找到的解决Flex安全沙箱问题的方法,仅供参考。
方法一:
在目标服务器上布署crossdomain.xml文件(我用的此方法很管用,放上就没问题了)需要远程服务根目录定义有crossdomain.xml文件,如下:
<?xmlversion="1.0"encoding="UTF-8"?><cross-domain-policy><allow-access-fromdomain="*"/></cross-domain-policy>
方法二:
使用代理,把Flex要访问的远程文件通过asp,php,jsp等脚本读取到本地,然后再由Flex去访问;
方法三:
解决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文件,就不会出现那个烦人的安全设置提示窗口了!
方法五:
解决Flex安全沙箱第五种方法是用HttpService它默认是有Proxy的,需要配置flex-config.xml,里面有一段:<http-service-proxy><whitelist>………………</whitelist></http-service-proxy>
这个是白名单,一般情况下是注释掉的,也就是默认只有本地的http://{localserver}/*和https://{localserver}/*可以访问。其他的需要在flex-config.xml里的自行修改成需要的就可以了。
访问本地自然不会跨域,不过你肯定访问局域网其他机器了,所以是依照白名单规则,属于跨域
【编辑推荐】