- 浏览: 7332472 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
在flex与google的地图整合中发现,点击了google 的一个路径发现,报沙箱问题?
*** 安全沙箱冲突 ***
SecurityDomain'http://maps.googleapis.com/mapsapi/publicapi?file=flashapi&url=file%3A%2F%2F*&key=ABQIAAAAIhwqRCxr2Hd_iUrIB7KzdxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxR4G7tD76snbpNjQ3DrJkhKe_noZg&v=1.9a&flc='尝试访问不兼容的内容'file://D:\flexwork\BusOffline\bin-debug\BusOffline.html'
查询可知,关于沙箱的所有的信息
最近写了个读取外部地址图片的小Flash程序,才让我知道了世界上还存在着一个叫做“安全沙箱”的邪恶东东。于是在论坛里和搜索引擎中到处搜索,但所有的地方得到的答案都是很片面或者相互冲突的解释(互联网上的信息现在鲜有权威且真实的了)。有如下几类。
还未曾一一验证,新手的编码速度总是很缓慢。所以先发上来和大家共同研究,也希望技术好的舵友帮助我们这些还混在Flash编程底层的新手们,还请不吝赐教。
如果你和我一样都对安全沙箱一知半解,不如帮我顶一下,让更多的舵友关注一下,我会逐步的补完解决的过程和测试用例以及结果。我这次是下了决心要把这个恶心的知识点吃透了!
我得到的答案有以下几类,如果有出入请大家及时拍砖,也会有完全相反的答案,让我非常的头疼:
一、安全沙箱是Adobe的一种安全机制,用于限制Actionscript3.0访问不同域中的文件。
这个答案非常基础,大抵上所有的人都会这样解释,这种解释非常片面,而且让人非常的疑惑。
就这个答案有一些扩展问题,希望了解的舵友能帮忙给出答案:
- 为什么Adobe会有这种限制,就是说这种限制出于怎样的考虑?如果没有这种限制的话会出现什么安全问题?
- 既然不允许访问不同域的文件,为什么我在Flex的mx:Image组件中可以使用source属性来获取到外部的图片?这样属于绕过了安全沙箱吗?
二、如果出现安全沙箱问题,可以使用跨域配置文件来进行配置并解决安全沙箱问题。(这个答案是版本最多的答案了,五花八门自相矛盾,而且每一个都并不全面)
比如有人告诉我,如果一个A域的AS文件(Flash文件)想要访问B域的Flash文件,那么在B域的服务器上必须有一个跨域配置文件,并且在文件中设置允许A域中的Flash来访问才可以。(这个答案最多)。
也有人告诉我,跨域配置文件是放在A域的机器上,并且在文件中配置的是A域中的Flash文件可以访问哪个域的文件!(这个就完全反转了180度,虽然按照逻辑我更相信这一个,但看到大部分人都给出上面那个答案,就总是很迷惑。)
还有人说跨域文件不是必需的,可以在程序中直接设置就可以访问了(这个的观点也是由A域的程序来设置可访问的域,如果是正确的,倒是让人十分欣喜。)
以下是一些扩展问题,同样请了解的舵友帮忙解答:
- Flash的Swf文件如果是存放在A域中,在Swf中需要调用B域中的图片,跨域文件应该是放在哪个域的服务器中?
- 如果跨域文件需要放置在B域中,那么在配置是是否需要指定A域允许访问,然后A域中的Swf文件才能获得B域中的图片?
- 如果必须指定A域可以访问,A域中的Swf文件才能得到B域中的图片的话,那么Swf理应是在客户端执行的才对,(不是在A域中执行,而是要加载到客户端)那么岂不是只配置A域可以访问还不够,还需要允许客户端所在域可以访问才可以?
- 跨域文件是否是必须的?在程序中是否可以直接设置可访问的域?
三、安全沙箱可以通过一些其他的手段绕过(这部分的答案很丰富,但几乎不重样,而且每个解决问题的人都是高手,只留下寥寥几笔描述问题的解决过程,让人如坠雾里。)
有人通过设置代理来回避了安全沙箱问题(这个很让人怀疑,因为不大可能每个资源所在域都有一个同域的代理,而且可操作性太低)
有人通过使用其他语言的流操作来规避安全沙箱(这个我觉得应该完全pass,如果这样的话就相当于占用了两次带宽,以此读入,一次写出,如果是真的,这个应用的使用人数估计不能超过百人)
有人通过非常猥亵的图片跨域访问方法(怎么猥亵没看懂,是作者自己的描述,一会我会在解决方法的部分发出来他的解决方法,注明转载和出处相信他不会在意!)
还有人通过Js的设置来绕过安全沙箱(作者自己的描述是有点“自欺欺人”,我每次看到这种评价总是冒汗,ADOBE到底是为了什么发明了这个传说中的沙箱?难道大家都有这个需要?)
也有人在FlashPlayer的配置上做手脚,可以解决本地的Swf的安全沙箱问题(作者谓之为“终极”,这里也非常的不理解,Swf应该是在客户端执行吧,而不是由服务器执行好了发到客户端!那么本地的话,我又该将文件放在哪里?是客户端的本地还是A域的本地?)
下面附上网上收集的各种绕过安全沙箱的方法,为了方便阅读,直接拷贝黏贴,同时也附带引用地址以便详细查看!这个也请众多高手给个定论,看看哪种方法可行且高效。
解决“安全沙箱冲突” 引用自http://www.zhugao.cn/info/news_show.asp?id=620
是通过配置跨域文件来实现的,但因为作者未写明细节,所以看不出配置文件所在的域是A还是B。
刚才 load 一张网络上的图片,发现不能用 setMask 对其遮罩,trace 出现“安全沙箱冲突”。知道原因就好办了,调用不同域的对象或变量需要 allowDomain,如下:
System.security.allowDomain("www.zhugao.cn");
loadMovie("http://www.zhugao.cn/images/links/links_zhugao.jpg", my_mc);
注意,“www.zhugao.cn”和“zhugao.cn”不是相同域,根据目标而定。例如 loadMovie("http://player.zhugao.cn/***.jpg", my_mc); 那么 allowDomain 的应该是 player.zhugao.cn,而不是 zhugao.cn,也不是 www.zhugao.cn
如果要允许多个域,可以用逗号隔开:
System.security.allowDomain("www.zhugao.cn", "zhugao.cn", "player.zhugao.cn");
播放器在 8.0 以上可以使用通配符 “*” 来允许所有域:
System.security.allowDomain("*");
解决Flash3.0安全沙箱问题 引用自:http://www.360doc.com/content/070905/10/10584_720237.html
利用JS脚本绕过安全沙箱(有待验证,如果可以也不失为一种体面的解决办法!)
Flash作为一种客户端的前台脚本技术,本来是不应该赋予更强大的功能的。
但是随着Flash技术的发展,目前已然能够读xml文件,载入多媒体内容,
甚至直接与服务器端进行Socket通信。
当然,这些还不够,Flash与js,Flash与Flash之间也已然实现了交互通信。
这样导致的结果就是带来了大量令人头疼的安全问题。
于是Flash在它的AS3.0里提出了安全沙箱这一概念。
在未经授权的情况下,Flash默认状态是不允许进行跨域通信的,这样就使得Flash的安全可靠性得到了提高。
可同时也带来了意想不到的麻烦:我制作了一个Flash,在页面中用js脚本控制as脚本,然后使用FlashCS3的发布功能发布了该Flash,
上传到网站上后,问题出现了,此时Flash无论执行任何访问外界的as脚本均会提示安全沙箱问题!
即使是打开链接地址也会出现警告!
解决的办法很简单,连我自己后来都觉得很诧异:将调用Flash的参数:allowScriptAccess的值改为always即可。
例如:<param name="allowScriptAccess" value="always" />
用js来控制Flash的安全访问?是不是有点自欺欺人?嘿嘿?
使用Asp.Net绕过As3的跨域安全沙箱 引用自:http://www.asflex.cn/?p=532
完全的文件转发,以极低的效率来解决了问题,基本无实用价值.作者有大段的代码就没有全部复制,请根据上面引用详细阅读。看作者的有点郁闷总是让人觉得非常郁闷。
As3的SandBox这点上有点让人感觉非常郁闷。
如果要取不同域上的文件(比如歌曲,图片等),当对方服务器没有crossdomain.xml的时候就会出现安全沙箱错误。
这点有点郁闷。
中午午饭后,想到这个问题,于是用Asp.Net写了个Web Proxy。通过Asp.Net进行资源的转发,解决了跨域的安全沙箱问题。
不过这个东东会加大服务器的带宽和计算压力~
一种猥琐的图片跨域的方法 引用自:http://www.xintend.com/Article/EihZHMjnxgYubhSqRjhZ.aspx
似乎是利用了Flex本身的疏漏来达到特定访问图片的方法,但由于作者代码的不完全,作为初学的我还无法完全理解他的思路,还请大家指教这个。
今天看到达达(ASFlex)的博文,关于跨域的问题,突然想起来我之前[原]淘宝店家起义篇。。。要做的实验之一,遂趁当前下班时间,在公司里写了一段测试代码。
果然是无法Draw的,在帮助文档已经明确的写了......................................
如何突破呢? 还是以后直接拿TextField来用?
以此标记,下回,改用AVM1+AVM2混合内容测试
目前方法是猥琐的抽出Loader来用
测试连接:
www.xintend.com/temp/icd/index.html
有兴趣的同学可以去玩下~~ 图片可以拖动~~~~~~~
核心 代码部分:
01. function handleLoadBtn():void {
02. var s:String = urlInput.text;
03. var ht:String = "<img src='";
04. if (s.length > 0) {
05. ht += s;
06. ht += "' ";
07. ht += "id='image'>";
08. tf.htmlText = ht;
09. output.text = ht;
10. output.text += "n";
11. output.text += tf.getImageReference("image");
12. var c:DisplayObject = tf.getImageReference("image"); 1
3. ui.addChild(c);
14. output.text += "n ui.addChild(c);";
15. }
16. }
终极,解决本机flash player安全沙箱问题 引用自http://www.3tichina.com/newsDetails/20081203093544164.shtml
解决本地的安全沙箱,我本地测试的时候倒没遇到过!难道是RP,YY一下
经常在本机调试flash的时候,会报安全沙箱问题,除了去adobe的网站(http://www.macromedia.com/suppor ... ings_manager04.html)上添加本机的目录外,还可以有一种更简单的办法,
在C:windowssystem32MacromedFlashFlashPlayerTrust 下面,添加一个txt文件,例如songhuan .txt,然后在里面添加你的本机的目录,例如f:songhuan 或者c:都可以。以后在哪里报错了,就在这个文件里添加路径就可以了。
发表评论
-
flex 中As3Commons的使用學習
2009-10-15 12:53 3724學習Java的人,知道java中反射的强大, ... -
flex的国家化的应用
2009-09-23 08:59 2091在项目中需要使用发送短信模板的功能的,根据主题不同,模板不同, ... -
Flex 常用技巧
2009-09-04 13:00 2574flex是一种异步请求的技术,如果要实现同步必须在传递函 ... -
Flex 開發Google地圖
2009-08-24 13:16 24431 .获取googe的key 2.下载google的fle ... -
查询之order by,group by和having的使用
2009-08-08 15:48 4719在项目中查询常驻酒店的中住的次数最多的前10个酒店: 代码如 ... -
objectProxy的监控对象应用
2009-08-08 13:46 2677在项目中查询根据一个字段发生实现需要特殊的功能,作出相应的动作 ... -
Flex 依赖注入
2009-08-08 13:41 2094了解依赖注入 众所周 ... -
Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
2009-08-08 13:36 7432ActionScript 3.0中提供的数据加载请求类主要是H ... -
flex 数据绑定
2009-08-08 13:31 24029.2.1 函数和类级别的绑定 [Bindable]标签打使 ... -
Flex中Entity对象与Display对象之间的数据双向动态绑定
2009-08-08 13:27 2448flex项目中对象的和组 ... -
学习ActionScript 3.0的新特点
2009-08-06 13:05 2006ActionScript3.0 是一种类型 ... -
理解 Flex itemRenderer - 第 1 部分: 内联渲染器
2009-08-05 16:37 3134Flex 提供许多控制, 它们可以按不同方式显示大量数据。Li ... -
flex 中类似Google的提示下拉菜单实现
2009-08-01 16:28 5413项目中使用类似Gooogle输入提示菜单的实现如下 ... -
针对Flex中组件的扩展的应用开发
2009-08-01 16:04 2864在项目中使用一个自定义的CheckboxGroup组件继承自C ... -
Flex类似Google搜索提示的两种做法思路
2009-08-01 15:52 2679做了个简单的搜索提示 ... -
Flex中直接获取某个组件的对象
2009-08-01 15:47 2451Flex中直接获取某个组件的对象方案1: 遍历这些butto ... -
flex 查看类的各种数据的权限
2009-08-01 15:18 1868查看类的一些属性的信息:可读,可写,可读可写。 ... -
flex中getDefinitionByName 函数的使用
2009-08-01 12:40 6740在项目中自定义一个CheckboxGroup,这个控件里面 ... -
Flex 学习中数据类型必须注意的几点
2009-08-01 12:36 2249在字符串转换为int类型必须使用 最好如下: var a:i ... -
flex BindUtils的扩展的样式表绑定工具类StyleBindingUtils
2009-07-30 13:06 2215项目中使用的样式表绑定类如下: package uti ...
相关推荐
### flex沙箱安全问题 #### 一、概述 在Flex应用程序开发过程中,远程对象(RemoteObject)服务常常被用于客户端与服务器之间的数据交互。但在实际应用中,由于跨域策略的限制,可能会遇到Error #2048这样的错误...
### FLEX安全沙箱实用指南 #### 一、引言 在进行FLEX开发时,了解和掌握FLEX的安全沙箱机制对于确保应用程序的安全性至关重要。本文将详细介绍FLEX安全沙箱的相关概念及其应用场景,帮助开发者更好地理解如何在...
在这个“Flex开发实例 用于Flex沙箱的控制”中,我们将深入探讨如何利用Flex技术来管理和控制沙箱环境,以确保在富客户端中的安全运行。 Flex沙箱是Flex应用程序运行时的一个核心组件,它模仿了Adobe Flash Player...
在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。...connectbysocket 是flex客户端 connectbysocket请放在tomcat下试验效果
Flex安全沙箱问题是一个在开发基于Adobe Flex的应用程序时经常遇到的问题。Flex作为一个富互联网应用程序(RIA)框架,它使用ActionScript和MXML进行编程,而这些代码在运行时受到安全沙箱的限制,以防止恶意行为。...
Flex安全沙箱是Adobe Flex应用程序在运行时遵循的一套安全机制,旨在保护用户的数据和系统安全。这个概念是在Flex 4之后尤其受到关注,因为当时在Internet Explorer中出现了与安全沙箱相关的挑战。沙箱模型类似于...
在使用ArcGIS API for Flex开发WebGIS应用时,安全沙箱问题是一个重要的考虑因素,它涉及到数据的安全性和应用程序的跨域访问控制。Flex是Adobe Flash平台的一部分,用于创建丰富的互联网应用,而ArcGIS API for ...
【标题】:“源于FLEX中的安全沙箱问题” 【描述】:在FLASH PLAYER中,安全沙箱是一个关键的安全性组件,它将资源逻辑地分组,以限制各个FLASH应用程序能够执行的操作和访问的资源。安全沙箱确保了各应用程序与...
本篇文章将详细探讨“Flash加载SWF文件的沙箱问题”,并结合标签“源码”和“工具”来深入理解这个问题。 Flash Player为了确保用户的安全,采用了沙箱模型,这个模型将不同的运行环境分隔开来,防止恶意代码对用户...
"克服flex安全沙箱限制的视频像素信息采集存储的方法"是一个关键的技术议题,主要涉及的是如何在受到Adobe Flex安全沙箱限制的环境中有效地获取和存储视频帧的像素数据。Flex是一种基于ActionScript 3的开放源代码...
在开发中遇到的安全沙箱问题主要是由于Flash Player的沙箱安全策略导致的。当运行在Flex环境下的Flash应用程序尝试访问不同域(如***尝试访问***的资源)时,出于安全考虑,Flash Player默认禁止这种跨域行为。这是...
《Flex与.NET基于Socket的网络连接 收藏 .txt》和《Flex flash_player9 沙箱安全解决方案.txt》可能讨论了Flex应用程序与.NET服务通过Socket通信时如何处理安全沙箱问题,以及在Flash Player 9中如何解决这些问题的...
网上的方法很多,我看了好多,但是就是不管用,我的情况是,在程序没发布时,直接运行没错误,但是当发布时,访问就错了,提示SecurityError: Error #2048: 安全沙箱冲突:http://localhost:8086/index.swf 不能从 ...
综上所述,通过本地安全域设置,Flex开发者可以方便地解决安全沙箱问题,使得应用能够顺利运行并访问必要的本地资源。使用FlexSecurity.bat这样的工具,可以简化这个过程,无需用户参与或访问Adobe官网,提升了用户...
当Flex应用尝试导出PDF并涉及到跨域数据时,可能会遇到安全沙箱问题,即使配置了`crossdomain.xml`文件,也可能无法完全解决这个问题。 为了解决这个问题,开发者可能采用了替代方法,如使用不受沙箱限制的库或者...
在本案例中,标题和描述提到的是"lex for arcgis"在Java Tomcat环境下遇到的跨域限制,这个问题通常被称为"安全沙箱问题2048"。下面我们将深入探讨这个话题。 首先,让我们明确什么是跨域问题。在Web浏览器的安全...
“Flex中文帮助”可能是这个压缩包提供的辅助学习资料,它可能包含了详细的API文档、示例代码和常见问题解答,对于初学者来说是一份宝贵的参考资料。 通过深入学习Flex,你可以构建出具有高度互动性和视觉吸引力的...
- **安全性**:Flex支持安全沙箱模型,保护用户数据安全。 #### 五、Flex应用案例分析 通过实际案例的学习,可以更深入地理解Flex在不同场景下的应用技巧: - **在线视频播放器**:利用Flex的多媒体支持,可以开发...
客户端说明 chat.mxml socket.connect("127.0.0.1",8888);...FLEX+Java,FLEX+C#,FLEX+C++ <br>把swf放到网站上去,会出现安全沙箱问题没有解决,如果你解决了请告诉我(email:feng0904@163.com),谢谢
为了确保安全性,Flex采用了一套完整的安全机制来控制不同域之间的通信,其中包括了沙箱机制和安全策略文件的应用。 #### 二、沙箱机制 Flex的安全机制之一就是沙箱机制,它限制了SWF文件能够访问的资源范围,以...