`

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

 
阅读更多

在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配置详解以及防范措施.docx

    总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 crossdomain.xml 可以确保数据的安全传输,防止恶意跨域攻击。然而,配置不当可能导致敏感信息泄露或被利用,因此在设置...

    crossdomain.xml

    crossdomain.xml用于unity3d生成的webplayer不能读取数据库的问题,用于unity3d生成的webplayer不能读取数据库的问题

    webloigc 中设置 flex crossdomain.xml 文件

    `crossdomain.xml`文件是Adobe Flex应用程序用于定义安全策略的一个关键组件,它允许来自不同源的Flash Player或Flex客户端与服务器进行通信。本篇文章将深入探讨如何在WebLogic环境中设置这个文件,以及它对跨域...

    ArcGIS server tomcat crossdomain.xml

    当这两个组件结合时,可能会遇到浏览器的同源策略限制,这时候就需要通过`crossdomain.xml`文件来进行跨域配置。 `crossdomain.xml`文件是Adobe Flash Player和某些浏览器遵循的一种安全机制,用于允许特定的跨域...

    xpire-crossdomain-scanner:扫描crossdomain.xml策略以查找过期的域名

    然而,不恰当的跨域策略配置可能导致安全风险,例如过期的`crossdomain.xml`文件。本文将深入探讨`xpire-crossdomain-scanner`工具,它专门用于扫描`crossdomain.xml`文件,以检测潜在的安全漏洞。 `crossdomain....

    tomcat跨域解决方案

    为了解决Tomcat在IP和端口不同时引发的跨域问题,可以通过编写并配置`crossDomain.xml`文件来实现跨域支持。下面将详细介绍几种常见的配置方式: ##### 1. 允许特定域名访问 在某些情况下,可能只需要允许来自特定...

    Unity3D教程:关于跨域访问的处理2

    crossdomain.xml 文件是 Adobe 公司提出的跨域策略文件标准,它定义了允许哪些域名访问当前域名下的资源。crossdomain.xml 文件的格式是 XML,文件的开头是 &lt;?xml version="1.0"?&gt;,后面是 &lt;cross-domain-policy&gt; ...

    Silverlight 跨域策略文件.zip

    跨域策略文件是XML文档,通常命名为`clientaccesspolicy.xml`或`crossdomain.xml`,它定义了哪些其他源可以访问特定服务器上的内容。对于Silverlight应用程序来说,当它尝试从一个不同的域加载数据时,会自动检查...

    crossdomain-exploitation-framework:利用过度宽松的 crossdomain.xml 文件所需的一切

    虽然目前还没有多少框架,但您需要利用过度宽松的 crossdomain.xml 文件所需的一切都在这里。 支持的操作系统 卡利 操作系统 下载和设置 root@kali:~ # git clone ...

    crossdomain

    `crossdomain.xml`是服务器端的一个XML文件,它定义了哪些外部源(即其他域名)的Flash或Flex内容可以访问该服务器的资源。这个文件允许跨域资源共享(CORS),使Flex应用能够安全地从其他域获取数据,比如地图服务...

    Flash flex与JS通信

    其中的"crossdomain.xml"文件是Flash Player的安全策略文件,它是跨域通信的关键。当Flex应用试图从不同源加载数据或调用JavaScript时,Flash Player会检查目标服务器的根目录下是否存在crossdomain.xml文件。这个...

    Azure:Blob存储根内部的Crossdomain.xml

    `crossdomain.xml`文件是Flash Player和某些其他支持XML跨域策略的客户端所遵循的安全政策文件。它的主要目的是放宽浏览器的同源策略,允许来自不同源的请求访问特定服务器上的资源。在Azure Blob存储中,你可以将`...

    weblogic跨域flex

    在这些情况下,`crossdomain.xml`文件的配置也需要相应更新,以适应安全策略。 总结来说,解决Flex在WebLogic上的跨域问题,主要是通过创建和发布跨域策略文件,以及在Flex客户端配置正确的策略文件路径。这使得...

    tomcat6跨域访问配置及jar包

    配置tomcat6的跨域访问问题,包含两个xml配置文件clientaccesspolicy.xml,crossdomain.xml,以及两个jar包cors-filter-1.7.1.jar,java-property-utils-1.9.1.jar

    flex 沙箱安全问题

    这种模型的核心是基于跨域策略文件(Cross-Domain Policy File),即**crossdomain.xml**文件。 - **crossdomain.xml** 文件:它是一种XML格式的文件,用于定义哪些域可以跨域访问当前域中的资源。此文件需要放置在...

    swfupload上传文档报400解决办法

    `crossdomain.xml`文件是用于设置跨域策略的一个XML文件,它允许Flash应用程序(如SWFUpload)跨越不同的域名进行数据交互。如果该文件缺失或者放置位置不正确,则会导致上传操作失败,并返回400错误。 #### 解决...

    Silverlight 跨域文件

    另一方面,`clientaccesspolicy.xml`是专为Silverlight设计的跨域策略文件,它的语法与`crossdomain.xml`类似,但具有更精细的控制。它同样应放在Web服务器的根目录,或者Silverlight应用需要访问的资源所在的目录下...

    BlazeDS入门:HTTP Service

    无论是哪种方案,都需要在服务器端 Web 应用的根目录下配置 crossdomain.xml。 使用服务器端代理,可以简单在服务器端定义 DefaultHTTP,打开 proxy-config.xml,如下配置。其中*号表示 ...

Global site tag (gtag.js) - Google Analytics