`

Flex安全沙箱解决方案

    博客分类:
  • Flex
阅读更多
开发中遇到了安全沙箱的问题,一下有几种解决方案:

1.

播放器在 8.0 以上可以使用通配符 “*” 来允许所有域:
System.security.allowDomain("*");

如果要允许多个域,可以用逗号隔开:
System.security.allowDomain("www.windshow.com", "windshow.com", "player.windshow.com");

2.关于flex跨域读取一个图片

比如  假设你的服务器事  www.myserver.com    而你的一个flex文件位于   www.myserver.com /flex/myfalsh.swf

当一个客户来访问你的这个myfalsh.swf 文件  而你的这个文件又要去 www.otherserver.com/img/1.jpg  这里把这个图片加载到flash中

怎么办? 最简单的方法就是 var l:loader = new loader; l.load(new urlrequest(""));    这个方式如果你的flash是直接放在本地目录上运行那还可以

放在服务器上  加载 立马 报错 安全沙箱冲突

看了看loader 的 load的方法load(request:.chm::/langref/flash/net/URLRequest.html]URLRequest, context:.chm::/langref/flash/system/LoaderContext.html]LoaderContext = null):.chm::/langref/specialTypes.html#void]void

context:.chm::/langref/flash/system/LoaderContext.html]LoaderContext  这个干吗用的? 再看看帮助 原来是用来设置运行域 和 设置是否加载安全策略文件的
当然使用方法是  var lc:.chm::/langref/flash/system/LoaderContext.html]LoaderContext = new .chm::/langref/flash/system/LoaderContext.html]LoaderContext(true);
var l:loader = new loader; l.load(new urlrequest(""),lc);    这样行吗? 一样不行
还要放一个 安全策略文件 放在对方服务器的根目录下面  名称为:crossdomain.xml 最好是这个名字 省得多写代码
内容为

<?xml version="1.0"?>
<?xml version="1.0"?>

 


所以这种方式有个很大弊病 就是要在对方服务器上放这么一个文件 , 别人还肯给你放啊 ? 要不就是傻了
3.很自然的就是想到用代理方法  就是 用asp,php 等类似的程序去把这种图片读回来 然后传给flex 
具体: 放一个如 getpic.asp 在服务器上 和myfalsh.swf 同一个目录
getpic.asp的代码为

<%

function reReader(url) 
dim http
set http = server.CreateObject("Microsoft.XMLHTTP") 
with http 
.Open "get", url, false, "", "" 
.Send 
reReader = .ResponseBody
end with 

set http = nothing 
end function
dim url
url =Request.QueryString("url")
response.Clear
Response.ContentType = "image/gif"
Response.BinaryWrite reReader(url)
response.End 
%>



myfalsh.swf 种的代码这样写

private var _loader:Loader;
private var _LoadUrl:String;
public function FileLoader(url:String){
    _LoadUrl = url;
    _loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,OnLoadCompleateEvent);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,OnLoadIOErrorEvent);
        }
        
        //加载
public function Load():void{
    var req:URLRequest = new URLRequest(_LoadUrl);
    _loader.load(req);
}
        
public function get content():DisplayObject{
            return _loader.content;
        }
        
private function OnLoadCompleateEvent(e:Event):void{
this.dispatchEvent(new Event(Event.COMPLETE));
        }
        
private function OnLoadIOErrorEvent(e:IOErrorEvent):void{
    Alert.show("加载错误");
            //this.dispatchEvent(new Event(IOErrorEvent.IO_ERROR));
        }



调用方法
  FileLoader(http://www.myserver.com /flex/myfalsh.swf?url=http://www.otherserver.com/img/1.jpg);

4.BlaseDS时候使用的解决方案
<mx:RemoteObject destination="remo" id="serviceyellow"
        result="ResultHandleYellow(event)" endpoint="http://109.111.4.123:8080/SNUMSUNG/messagebroker/amf" >
    </mx:RemoteObject>
将endpoint中IP地址改为服务器的IP地址
分享到:
评论
1 楼 whaosoft 2009-03-22  
放在服务器上  加载 立马 报错 安全沙箱冲突  一看就天津的 呵呵~!

相关推荐

    电信设备-克服flex安全沙箱限制的视频像素信息采集存储的方法.zip

    6. **使用第三方库**:有一些第三方库或插件专门设计用于在Flex中处理视频像素信息,它们可能提供了绕过安全限制的解决方案。例如,GreenSock的TweenLite库就提供了一些高级动画和像素操作功能。 7. **本地存储策略...

    ActionScript 3.0安全沙箱及相关问题资料

    《Flex flash_player9 沙箱安全解决方案.txt》可能包含了针对Flex 1.x和2.x版本的沙箱问题解决方案,因为Flex 3.0及以后的版本开始使用ActionScript 3.0,而Flash Player 9是支持ActionScript 3.0的首个版本。...

    flex安全机制详解

    #### 五、解决方案 针对Socket方式的通信,可以通过以下几种方法来解决安全策略问题: 1. 在服务端编写程序监听843端口,当接收到`&lt;policy-file-request/&gt;`时返回恰当的安全策略文件内容(即`crossdomain.xml`)。...

    flex PDF导出分页

    然而,原生的Flex SDK并不直接支持PDF导出,因此开发者需要寻找第三方库或自定义解决方案来实现这一功能。 在描述中提到的“安全沙箱问题”是Flash Player的安全限制之一。Flash Player的安全模型分为多个沙箱,以...

    Pro Flex On Spring

    而前端的Flex应用则可以透过Remoting或BlazeDS(Adobe提供的开源解决方案)与后端的Spring应用进行通信。 Flex与Spring的整合并不是没有挑战。例如,需要处理不同技术栈之间的数据格式转换,以及保证两个技术栈的...

    flex air开发指南

    - **常见问题**:列举常见的测试问题及解决方案。 ##### 5.5 打包程序 - **打包工具**:介绍用于打包 AIR 程序的工具。 - **打包步骤**:指导如何将程序打包为可发布的格式。 #### 第六章:用FlexBilder开发AIR...

    Spring攻略(第二版 中文高清版).part2

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    Spring攻略(第二版 中文高清版).part1

    1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 ...

    flex的rpc错误整理

    本文主要针对Flex RPC错误进行了整理,特别是涉及到Flash Remoting、HTTP Service和Web Service的常见错误及其解决方案。 **一、Flex Remoting** 1. **Channel definition, mx.messaging.channels.RTMPChannel, ...

    flex调用swf——swf可以转成具体的对象,而非MovieClip

    在描述的博文中,作者可能详细阐述了如何配置和使用这种方法,以及在实际项目中遇到的问题和解决方案。遗憾的是,由于没有提供具体的内容,我们无法给出更多细节。 在项目结构方面,`.actionScriptProperties`、`....

    iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)

    "iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...

    Flex文件读取报错示例

    以下是一些Flex文件读取中可能遇到的知识点和相应的解决方案: 1. 文件路径问题: Flex中访问本地文件系统,需要使用File类来操作文件。在示例中,尝试创建一个File实例指向应用目录下的test.txt文件。正确的代码...

    BlazeDS入门:HTTP Service

    对于跨域访问,有两种解决方案:使用服务器端代理和使用 Flex Data Services。无论是哪种方案,都需要在服务器端 Web 应用的根目录下配置 crossdomain.xml。 使用服务器端代理,可以简单在服务器端定义 DefaultHTTP...

    21天让你成为Horizon View高手

    7. **高级特性**:进一步探索Horizon View的高级功能,如Horizon Mirage(用于物理和虚拟桌面的统一管理)、Horizon FLEX(移动设备上的安全沙箱环境)和Horizon DaaS(云中的VDI服务)。 8. **安全与合规**:理解...

    as3学习好资料

    本书《ActionScript 3.0 Cookbook》旨在为 Adobe Flash 平台及 Adobe Flex 应用开发者提供实用的解决方案。 #### 二、ActionScript 3.0 概述 ActionScript 是一种强大的面向对象编程语言,用于开发基于 Flash 的...

    AdobeAIR入门教程

    在“下载说明.html”中,可能会包含下载教程的步骤、注意事项以及可能遇到的问题解决方案。而“fwvv.net说明.txt”可能是关于一个网站或服务的说明,可能提供了更多资源或者支持信息。 总的来说,这份Adobe AIR入门...

    架构师201003.pdf

    3. **解决方案**:为解决此类问题,亚马逊可能需要增加网络带宽、优化资源分配算法或限制某些地区的资源订购速度。 ### 全景透视Oracle对Sun的未来规划 **知识点:** 1. **Oracle收购Sun Microsystems**:2009年...

    actionscript cook book 中文版

    书中详细介绍了各种编程技巧和常见问题的解决方案,涵盖了ActionScript语言基础、自定义类、运行时环境、数字与数学以及数组等核心主题。 第一章“ActionScript 语言基础”主要介绍编程的基础知识,包括: 1.0 ...

Global site tag (gtag.js) - Google Analytics