在tomcat的webapps/ROOT目录里加入以下文件可以解决跨域的问题
crossdomain.xml文件:
文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?> <cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy>
上面的文件配置的是开放的对访问不做限制。
实际配置中应该是对一些域名或者一些IP发的请求给予响应,其它访问给予拒绝。
具体的配置类似:
<?xml version="1.0" encoding="UTF-8"?> <cross-domain-policy> <allow-access-from domain="localhost" /> <allow-access-from domain="10.16.1.107"/> <allow-access-from domain="*.qq.com" /> <allow-access-from domain="*.163.com" /> </cross-domain-policy>
当Flex访问WebService服务时,在本地能够正常访问,当部署到web容器中发布为web服务后,再调用WebService,此时就会被拒绝访问,这就是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文件
相关推荐
总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 crossdomain.xml 可以确保数据的安全传输,防止恶意跨域攻击。然而,配置不当可能导致敏感信息泄露或被利用,因此在设置...
crossdomain.xml用于unity3d生成的webplayer不能读取数据库的问题,用于unity3d生成的webplayer不能读取数据库的问题
`crossdomain.xml`文件是Adobe Flex应用程序用于定义安全策略的一个关键组件,它允许来自不同源的Flash Player或Flex客户端与服务器进行通信。本篇文章将深入探讨如何在WebLogic环境中设置这个文件,以及它对跨域...
当这两个组件结合时,可能会遇到浏览器的同源策略限制,这时候就需要通过`crossdomain.xml`文件来进行跨域配置。 `crossdomain.xml`文件是Adobe Flash Player和某些浏览器遵循的一种安全机制,用于允许特定的跨域...
然而,不恰当的跨域策略配置可能导致安全风险,例如过期的`crossdomain.xml`文件。本文将深入探讨`xpire-crossdomain-scanner`工具,它专门用于扫描`crossdomain.xml`文件,以检测潜在的安全漏洞。 `crossdomain....
为了解决Tomcat在IP和端口不同时引发的跨域问题,可以通过编写并配置`crossDomain.xml`文件来实现跨域支持。下面将详细介绍几种常见的配置方式: ##### 1. 允许特定域名访问 在某些情况下,可能只需要允许来自特定...
crossdomain.xml 文件是 Adobe 公司提出的跨域策略文件标准,它定义了允许哪些域名访问当前域名下的资源。crossdomain.xml 文件的格式是 XML,文件的开头是 <?xml version="1.0"?>,后面是 <cross-domain-policy> ...
跨域策略文件是XML文档,通常命名为`clientaccesspolicy.xml`或`crossdomain.xml`,它定义了哪些其他源可以访问特定服务器上的内容。对于Silverlight应用程序来说,当它尝试从一个不同的域加载数据时,会自动检查...
虽然目前还没有多少框架,但您需要利用过度宽松的 crossdomain.xml 文件所需的一切都在这里。 支持的操作系统 卡利 操作系统 下载和设置 root@kali:~ # git clone ...
`crossdomain.xml`是服务器端的一个XML文件,它定义了哪些外部源(即其他域名)的Flash或Flex内容可以访问该服务器的资源。这个文件允许跨域资源共享(CORS),使Flex应用能够安全地从其他域获取数据,比如地图服务...
其中的"crossdomain.xml"文件是Flash Player的安全策略文件,它是跨域通信的关键。当Flex应用试图从不同源加载数据或调用JavaScript时,Flash Player会检查目标服务器的根目录下是否存在crossdomain.xml文件。这个...
`crossdomain.xml`文件是Flash Player和某些其他支持XML跨域策略的客户端所遵循的安全政策文件。它的主要目的是放宽浏览器的同源策略,允许来自不同源的请求访问特定服务器上的资源。在Azure Blob存储中,你可以将`...
在这些情况下,`crossdomain.xml`文件的配置也需要相应更新,以适应安全策略。 总结来说,解决Flex在WebLogic上的跨域问题,主要是通过创建和发布跨域策略文件,以及在Flex客户端配置正确的策略文件路径。这使得...
配置tomcat6的跨域访问问题,包含两个xml配置文件clientaccesspolicy.xml,crossdomain.xml,以及两个jar包cors-filter-1.7.1.jar,java-property-utils-1.9.1.jar
这种模型的核心是基于跨域策略文件(Cross-Domain Policy File),即**crossdomain.xml**文件。 - **crossdomain.xml** 文件:它是一种XML格式的文件,用于定义哪些域可以跨域访问当前域中的资源。此文件需要放置在...
`crossdomain.xml`文件是用于设置跨域策略的一个XML文件,它允许Flash应用程序(如SWFUpload)跨越不同的域名进行数据交互。如果该文件缺失或者放置位置不正确,则会导致上传操作失败,并返回400错误。 #### 解决...
另一方面,`clientaccesspolicy.xml`是专为Silverlight设计的跨域策略文件,它的语法与`crossdomain.xml`类似,但具有更精细的控制。它同样应放在Web服务器的根目录,或者Silverlight应用需要访问的资源所在的目录下...
无论是哪种方案,都需要在服务器端 Web 应用的根目录下配置 crossdomain.xml。 使用服务器端代理,可以简单在服务器端定义 DefaultHTTP,打开 proxy-config.xml,如下配置。其中*号表示 ...