`
hz_chenwenbiao
  • 浏览: 1007934 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

flash 安全沙箱冲突

阅读更多

下载flexpaper源码修改后做成swf阅读器,要加入待阅读的swf文件,可以在flex里调用js的方法来获取swf文件的路径 的方法,在js只专注获取路径就行,等着flex来调用: 但这里会遇到一个问题那就是出现安全问题,如下的提示: Error #2044: 未处理的 onDocumentLoadedError:。 text=Error #2048: 安全沙箱冲突:http://localhost:8080/UpLoadAndDownLoad/FlexPaper.swf 不能从 http://127.0.0.1:8080/MyFileConvert/ConvertFile/application1/2.swf 加载数据。 这个是由flash的跨域传输数据的安全问题所引起的,当我在tomcat的webapps/ROOT目录里加入如下文件时就可以解决这个安全问题所引去的swf的文件的不能用的问题,不过这里是将swf文件公开给所有的IP访问,所以有安全问题:

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
 

 

下面转载一下关于跨域问题的内容:

 

关于跨域策略文件crossdomain.xml文件

http://www.xiaonei.com/crossdomain.xml

<!– http://www.xiaonei.com/ –>
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
	<allow-access-from domain="*.xiaonei.com" />
	<allow-access-from domain="xiaonei.com" />
</cross-domain-policy>
 

这是很标准的做法,我就让我自己的域以及我的子域来获取数据。

淘宝的:

http://www.taobao.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
	<allow-access-from domain="*.taobao.com" />
	<allow-access-from domain="*.taobao.net" />
	<allow-access-from domain="*.taobaocdn.com" />
	<allow-access-from domain="*.allyes.com" />
</cross-domain-policy>
 

红色的一行是淘宝的CDN所在的域,所谓内容分发网络。

绿色的一行是淘宝的广告商了,http://www.allyes.com/好耶广告网络,只是不清楚是不是仍然再卖淘宝的广告?

多看几个大网站的crossdomain.xml,也可以知道可能是什么网络广告商给它们在打广告。

比如彭博:http://www.bloomberg.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
	<allow-access-from domain="localhost" />
	<allow-access-from domain="10.16.136.107"/>
	<allow-access-from domain="*.bloomberg.com" />
	<allow-access-from domain="*.pointroll.com" />
	<allow-access-from domain="*.pointroll.net" />
</cross-domain-policy>
 

红色的就太不专业了,把内部IP都给暴露了。。。。。。

绿色的是彭博的广告商:PointRoll

路透的:

http://www.reuters.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
	<allow-access-from domain="*.reuters.com" secure="false" />
	<allow-access-from domain="ad.doubleclick.net"
		secure="false" />
	<allow-access-from domain="ad.uk.doubleclick.net"
		secure="false" />
	<allow-access-from domain="m.2mdn.net" secure="false" />
	<allow-access-from domain="m2.2mdn.net" secure="false" />
</cross-domain-policy>
 

广告给了doubleclick来做(绿色)

2mdn.net看不懂是干嘛的,大概是个cdn吧。

滥情的facebook:

http://www.facebook.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
	<site-control permitted-cross-domain-policies="master-only" />
	<allow-access-from domain="s-static.facebook.com" />
	<allow-access-from domain="static.facebook.com" />
	<allow-access-from domain="static.api.ak.facebook.com" />
	<allow-access-from domain="*.static.ak.facebook.com" />
	<allow-access-from domain="s-static.thefacebook.com" />
	<allow-access-from domain="static.thefacebook.com" />
	<allow-access-from domain="static.api.ak.thefacebook.com" />
	<allow-access-from domain="*.static.ak.thefacebook.com" />
	<allow-access-from domain="*.static.ak.fbcdn.com" />
	<allow-access-from domain="external.ak.fbcdn.com" />
	<allow-access-from domain="*.static.ak.fbcdn.net" />
	<allow-access-from domain="external.ak.fbcdn.net" />
	<allow-access-from domain="www.facebook.com" />
	<allow-access-from domain="www.new.facebook.com" />
	<allow-access-from domain="register.facebook.com" />
	<allow-access-from domain="login.facebook.com" />
	<allow-access-from domain="ssl.facebook.com" />
	<allow-access-from domain="secure.facebook.com" />
</cross-domain-policy>
 

这么多!有子域,有CDN,有thefacebook(facebook的旧域名吧?)

还是google的专业:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
	<site-control permitted-cross-domain-policies="by-content-type" />
</cross-domain-policy>
 

蓝色行的意思是,要符合要求的文件你才能取,不管你是哪来的flash数据请求。符合要求的文档必须满足:Content-Type: text/x-cross-domain-policy

 

另:

 

当Flex访问WebService服务时,在本地能够正常访问,当部署到web容器中发布为web服务后,再调用WebServicIE,此时就会被拒绝访问,这就是Flex跨域访问的沙箱问题,
为了解决Flex跨域访问WebService的问题,可采用如下方案:
首先,跨域访问被拒绝是因为提供服务方没有配置安全策略文件,即crossdomain.xml,如果你不想用crossdomain.xml就要用到代理,即自己写一个后台读取webservice,然后提供给自己的flex应用,因为在flashplayer中,要跨域必须要有策略文件。考虑到 flashplayer升级到9.124之后,加强了安全性,之前的crossdomain.xml的写法发生了变化,以下就是该文件的完整写法:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
	<allow-access-from domain="*" />
	<allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>
 
表示该服务允许任何外域来访问。
关于crossdomain.xml的放置目录问题,有如下解决方案,可放置在:

1) 如果这个目录是容器的根目录,可以通过以下的url访问crossdomain.xml: 

http://localhost:8080/crossdomain.xml 。

2) 如果crossdomain.xml不是放在根目录下,而是在某个webapp下面,在flex中就需要在初始化的时候应用 
Security.loadPolicyFile("http:// localhost:8080/aaa /crossdomain.xml"); 

其中aaa为webapp的名称
这样,外部Flex访问该服务发布的WebService时,flashplayer首先找的就是crossdomain.xml文件,若安全机制设置为允许访问,则访问成功。

分享到:
评论
1 楼 xiao_feng68 2010-12-15  
怎么没写完吗?

相关推荐

    Flash Socket策略mini服务器,迅速解决Flash socket安全策略问题,安全沙箱问题

    本程序为绿色mini服务程序 程序会自动打开Flash默认的843端口 自动将crossdomain.xml返回给flash客户端 您可以修改crossdomain.xml中的内容,大小不要超过10K

    java和as3 socket通信 解决安全沙箱问题

    本文将深入探讨如何实现这两种语言间的Socket通信,并解决在Flash Player的安全沙箱问题。 首先,让我们理解什么是Socket通信。Socket是网络编程中的一个概念,它允许两个程序通过TCP/IP协议进行双向通信。在Java中...

    火狐浏览器崩溃怎么办,Flash沙箱安全模式帮你轻松解决.docx

    启用Flash沙箱安全模式可以降低因Flash插件引起的安全风险和稳定性问题。 1. **开启管理员权限**: 首先,启动记事本并以管理员身份运行。这是为了确保我们能够对系统文件进行必要的修改。在开始菜单中搜索...

    Flash加载swf文件的沙箱问题

    然而,Flash在安全方面存在一个关键的概念——沙箱(Sandbox)机制。本文将深入探讨“Flash加载SWF文件的沙箱问题”。 沙箱机制是计算机安全中的一个重要概念,其核心思想是限制程序的运行权限,以防止它们对系统...

    详解flash应用程序域

    在Flash中,安全沙箱(或称安全域)是一个隔离环境,用于限制和管理不同SWF文件之间的交互,以保护数据安全。而应用程序域则是安全沙箱下的一个子概念,主要用于管理和组织类定义、函数、接口和命名空间等资源,防止...

    善用沙箱发现高级未知威胁的实践

    3. **Payload的反沙箱技术**:恶意软件会采用各种反检测机制,如anti-sandbox和anti-VM技术,以及hook冲突等问题。 #### 改进措施与实践 为了克服这些挑战,360威胁情报中心提出了一系列改进措施: 1. **优化样本...

    c#与flash通信

    - 由于安全限制,只有在信任的沙箱环境中,Flash才能使用ExternalInterface。这意味着在网页中,用户必须已经访问过包含Flash内容的同一域,或者明确给予Flash Player权限。 - 传递的数据类型有限制,不能直接传递...

    深入理解ApplicationDomain和SecurityDomain

    安全域与应用程序域是Flash Player中两种重要的沙箱概念,它们帮助开发者理解如何管理和隔离不同来源的内容。这篇文章将详细介绍这两个概念,并通过具体的例子帮助读者更好地理解。 #### 一、安全域(Security ...

    AS 3.0中文帮助文档

    10. 安全和沙箱:AS3.0的安全模型确保了跨域通信的安全,防止恶意代码对用户数据的访问。它分为三个沙箱:本地、网络和安全沙箱,每个都有不同的权限。 11. 异步编程:使用Promise和Future概念,AS3.0支持非阻塞I/O...

    Flex_RPC错误大全

    - **问题分析**:不使用代理时遇到的安全沙箱冲突,这可能是因为Flash Player的安全策略阻止了跨域请求。 #### 3. URL not allowed by selected destination 错误信息:“The URL specified XXX is not allowed by...

    flash swf之间传值

    3. **使用LocalConnection**: LocalConnection是Flash Player提供的一个类,允许在不同安全沙箱间进行低延迟的消息传递。在A.SWF中创建LocalConnection并发送数据,在B.SWF中监听并接收数据。 ```as3 // A.SWF var ...

    详细介绍ApplicationDomain和SecurityDomain

    它们分别对应着应用程序域和安全域的概念,旨在确保Flash内容在执行时既安全又能有效地处理命名空间冲突。 #### 二、ApplicationDomain详解 **1. 概念** - **ApplicationDomain** 是一种用于管理命名空间和资源...

    localconnection

    这个技术允许不同的Flash Player实例或者同一实例内的不同安全沙箱之间进行数据传递,实现数据交换和通信。在标题"localconnection"中,我们聚焦的是与Flash LocalConnection相关的技术知识。 在描述中提到的"flash...

    red5 安装入门配置详解

    4. **安全沙箱冲突** - 在开发过程中,可能会遇到Flash Player的安全沙箱限制问题。如果跨域通信或访问本地资源,需要正确配置服务器的crossdomain.xml文件,以允许特定来源的请求。 5. **部署到WebLogic** - ...

    ActionScript 3.0 组件及编程(完整)

    8. 安全和沙箱模型:AS3.0加强了安全模型,有网络、本地文件和跨域策略,确保了应用程序的安全运行。 通过学习ActionScript 3.0的组件编程,开发者可以: 1. 学习基本组件的使用,如Button、TextInput、MovieClip...

    flex的rpc错误整理

    错误#2048提示安全沙箱冲突,这通常发生在跨域访问时。确保已正确配置跨域策略文件以允许Flex与后端服务通信。 7. **RPC Fault faultString="MessagingError message='Destination 'fluorine' either does not ...

    Essential ActionScript 3.0 真正的中文版本

    - **安全体系**:概述 Flash Player 的安全模型,包括沙箱策略和权限管理机制。 #### 四、具体知识点详述 1. **面向对象编程** - **类**:类是一种蓝图,定义了一组具有共同属性和行为的对象。在ActionScript ...

    Turbo Studio 21(虚拟封装软件)官方正式版V21.3.1477 | turbo studio设置封装图标

    对于程序开发者和IT专业人士而言,Turbo Studio无疑是相当理想的帮手,跟传统的部署方法不同的是,turbo studio 打包后的虚拟化应用采用动态沙箱隔离管理机制与其它系统真实应用互相隔离,能最大程度上避免DLL冲突、...

    Spoon.Virtual.Application.Studio.v10.4.2380 含注册机(分卷2/2)

    Spoon Virtual Application Studio使你能够转换Windows, .NET, Java, AIR, Flash, Shockwave或其它Windows兼容应用程序为独立的虚拟化应用,这些应用程序从网上传输,并即刻对最终用户设备运行。不像传统的部署方法...

    AIR应用开发中文指南(BETA2).pdf

    AIR应用在沙箱环境中运行,限制了它们对用户计算机的访问权限,以保护用户数据和系统安全。此外,AIR还提供了加密本地存储和其他安全机制,确保应用程序和用户数据的安全。 **1.6 AIR文件结构** 了解AIR应用的文件...

Global site tag (gtag.js) - Google Analytics