- 浏览: 132964 次
- 性别:
- 来自: 北京
文章分类
最新评论
http://developer.51cto.com/art/201008/218294.htm
Flex安全沙箱包括:远程沙箱与本地沙箱。其实这个沙箱模型类似与浏览器中的同源策略。在同一域内的资源会被放到一个安全组下,这个安全组就被称为Flex安全沙箱了。
Flex安全沙箱
Flex安全沙箱包括:远程沙箱与本地沙箱。其实这个沙箱模型类似与浏览器中的同源策略。在同一域内的资源会被放到一个安全组下,这个安全组就被称为Flex安全沙箱了。
在深入了解沙箱之前先得明确FlashPlayer的权限控制(我还是按照FlashCS3上的中文官方文档的名词来划分吧):
1、管理用户控制:
这指系统的最高权限用户,win下的Administrator,linux下的root等。有两种类型的控制:
a)、mms.cfg文件:数据加载、隐私控制、FlashPlayer更新、旧版文件支持、本地文件安全性、全屏模式等。
b)、"全局FlashPlayer信任"目录:当某些SWF文件被指定到这个受信任的目录下时,这些SWF文件会被分配到受信任的本地沙箱。它们 可以与任何其它SWF文件进行交互,也可以从任意位置(远程或本地)加载数据。该信任目录的默认路径为:C:\windows\system32 \Macromed\Flash\FlashPlayerTrust。
2、用户控制:
相对于第1种,这里的用户是指普通用户。有这三种类型的控制:
a)、摄像头与麦克风设置:还记得ClickJacking的那个FlashDEMO么?
b)、共享对象存储设置:就是那个SharedObject了。
c)、相对与"全局FlashPlayer信任"目录,用户权限这也有个"用户FlashPlayer信任"目录。默认路 径:C:\DocumentsandSettings\JohnD\ApplicationData\Macromedia\FlashPlayer \#Security\FlashPlayerTrust。
3、Web站点控制(跨域策略文件):
就是家喻户晓的crossdomain.xml文件了,现在的安全策略是该文件只能存放在站点根目录下了,文件格式如:
- <? xmlversion xmlversion = "1.0" ?>
- < cross-domain-policy >
- < allow-access-fromdomain allow-access-fromdomain = "*" />
- </ cross-domain-policy >
随便看个例子:http://fanfou.com/crossdomain.xml。通过该文件的配置可以提供允许的域跨域访问本域上内容的权限。
4、作者(开发人员)控制:
开发者可以通过编码(在AS脚本中)指定允许的安全控制权限,如:Security.allowDomain("www.xeye.us");
当然都支持通配符*了。这个通配符真是个瘟神,程序员可得谨慎使用,以免添加不必要的安全风险。
好,FlashPlayer的权限控制明了之后,现在可以来看看Flex安全沙箱了。
1、远程沙箱:
这个远程沙箱控制着远程域上,浏览器环境中的安全策略,比如http://xeye.us/域中的Flash文件就无法单刀直入地与http: //hi.baidu.com/ycosxhack域上的Flash文件交互。同一个域(严格域)下的所有文件属于一个沙箱,沙箱内的对象是可以互相返 回,而沙箱之间的对象需要交互的话,得靠上面介绍的权限控制的“Web站点控制(跨域策略文件)”与“作者(开发人员)控制”进行了。
2、本地沙箱:
再来看一下Flex安全沙箱中的本地沙箱,Flash与Flex文件可以在我们的桌面环境下运行。如果没有个很好的安全策略来限制这些功能不弱的AS脚本的话,那绝对是很危险的事。
它有三种类型:
a)、只能与本地文件系统内容交互的本地沙箱:顾名思义,就是该Flash文件在本地运行时是不能与网络上的对象进行通信的,而只能与本地对象进行交互。
b)、只能与远程内容交互的本地沙箱:还是顾名思义,此时的Flash文件要与远程域对象交互时,需在远程域上通过策略文件或以Security.allowDomain编码方式来设置访问策略(同远程沙箱)。此时不能访问本地文件。
c)、受信任的本地沙箱:完美了,上面介绍的权限控制中,管理用户与普通用户都有FlashPlayer信任目录的控制权限,只要将我们的SWF文件放到受信任目录内运行,那么这个Flash文件就可以与本地域和远程域通信了:)。
当然以上这些沙箱类型,我们可以通过编码来确定当前运行的Flash文件被分配到什么类型的沙箱中。还是通过Security类:Security.sandboxType,值:
Security.REMOTE(远程沙箱)
Security.LOCAL_WITH_FILE(只能与本地文件系统内容交互的本地沙箱)
Security.LOCAL_WITH_NETWORK(只能与远程内容交互的本地沙箱)
Security.LOCAL_TRUSTED(受信任的本地沙箱)
恩,Flash安全沙箱就是这些笔记了,写到这还不得不提下Flash的一些其他安全问题。这些安全问题大多围绕安全沙箱进行。
在我们发布Flash时生成的HTML文件内,<object>与<embed>标签内的几个属性需要明确的。
◆allowNetworking:
该参数控制Flash文件的网络访问功能。有三个值:all(所有的网络API都可用)、internal(除了不能使用浏览器导航和浏览器交互的API外,其它的都可用)、none(所以网络API都不可用)。
◆allowScriptAccess:
这是AS与JS通信的安全控制,还记得ExternalInterface的作用吗。有三个值:never(ExternalInterface的 call方法不能与HTML的JS脚本进行通信)、sameDomain(同域内就可以了,这是默认值)、always(这个就允许所有域了,比较危 险)。
◆allowFullScreen:
全屏模式的安全问题,这是一个boolean值,默认为false,不允许Flash全屏。全屏带来的安全问题莫非是用户界面欺骗这样的类型?我不是很清楚。
上面这三个属性得区分好了啊。安全问题不仅这点,还有比如LocalConnetion的本地通信、共享对象SharedObject的使用、 E4X在AS中的使用、其它的Socket通信、一些网络API,比如全局的navigateToURL、Flash与其它非Flash的外部对象的通信 问题等等。这些安全问题大都围绕安全沙箱进行。Flash或者Flex文件可以做得很漂亮,很精彩,比如那些非常优秀的Flash动画与游戏,然而一定得 时刻保持警惕。
http://developer.51cto.com/art/201007/215031.htm
方法一:
在目标服务器上布署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里的自行修改成需要的就可以了。
访问本地自然不会跨域,不过你肯定访问局域网其他机器了,所以是依照白名单规则,属于跨域
发表评论
-
Flex从swf中加载资源和类
2013-12-10 09:37 725需要为直播播放器做几个新的样式,想将每个样式的布局XML和 ... -
swf加载swf的一些问题
2013-03-20 17:31 6831,swfParent 加载 swfChild,如果有交互, ... -
NetStream appendBytes 一点经验
2013-03-20 16:25 2536最近在做基于 NetStream ... -
【译】HTML5还需要什么才能击败Flash(part 2)
2012-04-01 17:53 0What else does HTML5 need to ... -
【译】HTML5还需要什么才能击败Flash(part 1)
2012-04-01 16:36 1056What else does HTML5 need to de ... -
AS 函数作用域、函数闭包、限界方法
2012-03-30 10:21 1428作用域链(scope chain): 任何时候函数开始 ... -
在AS3中自定义全局方法
2012-03-29 11:17 918http://en.flash-ripper.com/2007 ... -
Flex Class object(类对象)构成、traits和prototype
2012-03-29 10:59 1521先贴张图: 每个矩形代表一个对象。CA代表class ... -
使用flex sdk3.6的asdoc遇到的问题及解决方法
2012-03-26 10:24 1896想要对一个组件项目导出asdoc。组件的sdk是3.6,但使用 ... -
UIComponent添加Image不显示
2012-03-18 17:32 986在UIComponent中添加Image组件,图片不显示。 ... -
Flex优化技巧
2012-03-30 09:46 862http://www.jb51.net/article/182 ... -
Flex中多个柱状图和折线图的问题
2012-02-28 17:53 1943做了个柱状图和折线图的混合图表,2根3D的柱子,6根折线,遇到 ... -
AdvancedDatagrid的dataprovider属性
2012-02-22 10:15 778高级dataGrid的dataProvider的set方法里并 ... -
Sprite的宽高设置及Flex组件的混淆
2012-02-02 10:23 1655由于Bitmap和InteractiveObject同级,都继 ... -
Flex SDK3.5 PollingChannel.as 存在内存泄露bug的一种解决方法
2011-12-31 15:32 1258bug见前面的一篇文章: http://xltank.ite ... -
TextInput的ErrorString样式
2011-10-25 13:08 866http://blog.minidx.com/2008/05/ ... -
【转】Flash Player的 mm.cfg文件
2011-10-08 17:17 5145http://jpauclair.net/mm-cfg-sec ... -
Flex trace() 保存路径
2011-10-08 17:11 1053http://help.adobe.com/en_US/fle ... -
给ItemRenderer传参
2011-08-18 17:19 1433给ItemRenderer传递初始参数,可以根据参数灵活生成I ... -
AdvancedDatagrid改变行的颜色
2011-08-16 15:25 1574最早我尝试重写AdvancedDatagrid的drawRow ...
相关推荐
详细介绍了FLEX安全沙箱,便于大家开发FLEX时参考使用。
全面认识Flex安全沙箱 flex4发布后在IE中运行出现的安全沙箱问题。
在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。更改如下: 1,首先检测目标服务器的843端口是否提供安全策略 2,如果1没有检测...
flex 沙箱安全问题 remoteobject Error #2048
电信设备-克服flex安全沙箱限制的视频像素信息采集存储的方法.zip
NULL 博文链接:https://wuxiubing.iteye.com/blog/1354175
各个沙箱的所有内容由利益相关方安全控制,包括文件请求,本地数据存储(共享对象)以及特定域及其内容所使用的任何其他资源。每个沙箱与操作系统,文件系统,网络,其他应用程序,甚至其他FLASH PLAYER沙箱实例保持...
flash安全沙箱汇总。从网上摘录的东东。
NULL 博文链接:https://honley.iteye.com/blog/1159473
解压缩后直接运行FlexSecurity.bat。解决flex安全沙箱问题。无需到Adobe的官网上去设置全局安全域。
很好的一个flex 实例用于事件富客户端的!
1.安全沙箱容器 2.EdgeKubernetes 3.安全沙箱容器@edge方案 4.新探索 随着云计算边界不断向边缘侧延展,5G 和物联网技术的蓬勃发展给边缘计算带来了巨大机遇的同时,也带来了极大的挑战,传统 runc 容器已无法满足...
当a.com中的flash要访问b.com中的资源(如图片等)时,flex会提示安全沙箱错误!
要要安全沙箱是一款免费国产沙箱软件,为用户提供方便,专业,纯粹的沙箱产品。用户可以在要要安全沙箱环境中运行浏览器,软件等程序,沙箱中运行和程序不会对系统和电脑产生任何的实际的更改和影响,程序运行所产生...
网上的方法很多,我看了好多,但是就是不管用,我的情况是,在程序没发布时,直接运行没错误,但是当发布时,访问就错了,提示SecurityError: Error #2048: 安全沙箱冲突:http://localhost:8086/index.swf 不能从 ...
这是个通用类,里面包含了处理843端口的安全沙箱问题以及socket基本的向服务器send资源问题。 请求方式是,先发整形,然后发id长度,再发id(String) 得到的资源是先得到字符长度,再得到字符串。这个是和后退约定的...
Sandboxie(英译“沙盘”)允许你在...可用来保护浏览网页时真实系统的安全,也可以用来清除上网、运行程序的痕迹,还可以用来测试软件,测试病毒等用途。即使在沙盘进程中下载的文件,也可以随着沙盘的清空而删除。
java ,c#,delphi 解决flash安全沙箱问题 聊天室
写的一款组件·在服务器上运行可解决flash通信问题
java安全沙箱,具体内容见文档,非常之强大