`
jiangyaning8
  • 浏览: 18421 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FLEX 安全沙箱问题

 
阅读更多
关于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: URLRequest , context: LoaderContext = null): void

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

所以这种方式有个很大弊病 就是要在对方服务器上放这么一个文件 , 别人还肯给你放啊 ? 要不就是傻了


第2种方式 很自然的就是想到用代理方法 就是 用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 );
搞定     
分享到:
评论

相关推荐

    Flex 安全沙箱问题 简单处理方法

    Flex安全沙箱问题是一个在开发基于Adobe Flex的应用程序时经常遇到的问题。Flex作为一个富互联网应用程序(RIA)框架,它使用ActionScript和MXML进行编程,而这些代码在运行时受到安全沙箱的限制,以防止恶意行为。...

    FLEX安全沙箱实用指南

    ### FLEX安全沙箱实用指南 #### 一、引言 在进行FLEX开发时,了解和掌握FLEX的安全沙箱机制对于确保应用程序的安全性至关重要。本文将详细介绍FLEX安全沙箱的相关概念及其应用场景,帮助开发者更好地理解如何在...

    flex 安全沙箱 策略问题 demo

    在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。...connectbysocket 是flex客户端 connectbysocket请放在tomcat下试验效果

    全面认识Flex安全沙箱

    Flex安全沙箱是Adobe Flex应用程序在运行时遵循的一套安全机制,旨在保护用户的数据和系统安全。这个概念是在Flex 4之后尤其受到关注,因为当时在Internet Explorer中出现了与安全沙箱相关的挑战。沙箱模型类似于...

    flex 安全沙箱问题备忘

    在开发中遇到的安全沙箱问题主要是由于Flash Player的沙箱安全策略导致的。当运行在Flex环境下的Flash应用程序尝试访问不同域(如***尝试访问***的资源)时,出于安全考虑,Flash Player默认禁止这种跨域行为。这是...

    ArcGIS API for Flex开发WebGIS中的安全沙箱问题

    在使用ArcGIS API for Flex开发WebGIS应用时,安全沙箱问题是一个重要的考虑因素,它涉及到数据的安全性和应用程序的跨域访问控制。Flex是Adobe Flash平台的一部分,用于创建丰富的互联网应用,而ArcGIS API for ...

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

    "克服flex安全沙箱限制的视频像素信息采集存储的方法"是一个关键的技术议题,主要涉及的是如何在受到Adobe Flex安全沙箱限制的环境中有效地获取和存储视频帧的像素数据。Flex是一种基于ActionScript 3的开放源代码...

    flex 沙箱安全问题

    ### flex沙箱安全问题 #### 一、概述 在Flex应用程序开发过程中,远程对象(RemoteObject)服务常常被用于客户端与服务器之间的数据交互。但在实际应用中,由于跨域策略的限制,可能会遇到Error #2048这样的错误...

    源于FLEX中的安全沙箱问题

    【标题】:“源于FLEX中的安全沙箱问题” 【描述】:在FLASH PLAYER中,安全沙箱是一个关键的安全性组件,它将资源逻辑地分组,以限制各个FLASH应用程序能够执行的操作和访问的资源。安全沙箱确保了各应用程序与...

    在Flex中发布地图 程序报错 SecurityError: Error #2048: 安全沙箱冲突,只需要下载添加这个就可以

    网上的方法很多,我看了好多,但是就是不管用,我的情况是,在程序没发布时,直接运行没错误,但是当发布时,访问就错了,提示SecurityError: Error #2048: 安全沙箱冲突:http://localhost:8086/index.swf 不能从 ...

    flex本地安全域设置

    综上所述,通过本地安全域设置,Flex开发者可以方便地解决安全沙箱问题,使得应用能够顺利运行并访问必要的本地资源。使用FlexSecurity.bat这样的工具,可以简化这个过程,无需用户参与或访问Adobe官网,提升了用户...

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

    《Flex与.NET基于Socket的网络连接 收藏 .txt》和《Flex flash_player9 沙箱安全解决方案.txt》可能讨论了Flex应用程序与.NET服务通过Socket通信时如何处理安全沙箱问题,以及在Flash Player 9中如何解决这些问题的...

    flex 开发实例 用于flex 沙箱的控制

    在这个“Flex开发实例 用于Flex沙箱的控制”中,我们将深入探讨如何利用Flex技术来管理和控制沙箱环境,以确保在富客户端中的安全运行。 Flex沙箱是Flex应用程序运行时的一个核心组件,它模仿了Adobe Flash Player...

    flex安全机制详解

    ### Flex安全机制详解 #### 一、Flex安全机制概述 Flex是一种用于构建高效且美观的Web应用程序的技术,它能够提供丰富的用户体验。为了确保安全性,Flex采用了一套完整的安全机制来控制不同域之间的通信,其中包括...

    lex for arcgis java tomcat环境不能跨域问题 (安全沙箱问题2048

    在本案例中,标题和描述提到的是"lex for arcgis"在Java Tomcat环境下遇到的跨域限制,这个问题通常被称为"安全沙箱问题2048"。下面我们将深入探讨这个话题。 首先,让我们明确什么是跨域问题。在Web浏览器的安全...

    Flash加载swf文件的沙箱问题

    总之,Flash加载SWF文件的沙箱问题涉及到安全性和权限管理,理解并妥善处理这些问题对于创建安全且功能完备的Flash应用至关重要。开发者需要掌握如何适当地调整沙箱策略,同时注意不要过度放宽权限,以保护用户的...

    flex PDF导出分页

    当Flex应用尝试导出PDF并涉及到跨域数据时,可能会遇到安全沙箱问题,即使配置了`crossdomain.xml`文件,也可能无法完全解决这个问题。 为了解决这个问题,开发者可能采用了替代方法,如使用不受沙箱限制的库或者...

    FLEX+Delphi,FLEX+Java,FLEX+C# 的聊天室

    客户端说明 chat.mxml socket.connect("127.0.0.1",8888);...FLEX+Java,FLEX+C#,FLEX+C++ &lt;br&gt;把swf放到网站上去,会出现安全沙箱问题没有解决,如果你解决了请告诉我(email:feng0904@163.com),谢谢

    Flex第一步

    - **安全性**:Flex支持安全沙箱模型,保护用户数据安全。 #### 五、Flex应用案例分析 通过实际案例的学习,可以更深入地理解Flex在不同场景下的应用技巧: - **在线视频播放器**:利用Flex的多媒体支持,可以开发...

    flex与C++多线程服务器端交互

    C++服务器还需要处理安全沙箱问题。在Flex客户端中,由于安全限制,某些操作(如访问本地文件系统)受到限制,这被称为安全沙箱。为了绕过这些限制,服务器端可能需要提供特定的服务,例如数据传输、文件下载等,以...

Global site tag (gtag.js) - Google Analytics