zoukankan      html  css  js  c++  java
  • 实现Flash跨域访问

    Flash Player 7 及以上版本为目标播放器发布的文件,采用完全域匹配规则,而不是超域匹配规则。因此,被访问的文件(即使该文件以 早于 Flash Player 7 的 Flash Player 版本为目标播放器发布)必须显式允许跨域或子域访问;其次,在某一使用安全协议 (HTTPS) 的站点上承载的文件必须显式允许从使用不安全协议(HTTP 或 FTP)的站点承载的文件的访问。
    所以当使用loadMovie进行跨域访问时,需要调用 System.security.allowDomain。如果LocalConnection 接收方是 HTTPS SWF 文件,而发送方不是,则调用 allowInsecureDomain。
    可以使用下面的代码实现跨域访问:System.security.allowDomain("someSite.com");
    或 System.security.allowInsecureDomain("someSite.com") ;
    这里也支持使用通配符 (*) 。通配符 (*) 值允许在访问文件是任何文件并且可从任何位置(如全局权限)加载时进行跨脚本操作:System.security.allowDomain("*");
    或System.security.allowInsecureDomain("*");
    另一种是用 Flash 文档访问另一个域中的数据。Flash Player 会自动试图从该域加载策略文件。如果试图访问数据的 Flash 文档所在的域包括在该策略文件中,则数据将自动成为可访问数据。
    策 略文件必须命名为 crossdomain.xml,并且可以驻留在服务器的根目录和其它目录之中,这个服务器提供要被访问的 ActionScript 数据。每个策略文件对于它所驻留的服务器的端口和协议是特定的,只有在通过 HTTP、HTTPS 或 FTP 进行通信的 服务器上,策略文件才起作用。
    下面的代码是一个策略文件,它允许从 aeroflash.org 上的 Flash 文档访问来自 aeroflash.org、www.friendOfAeroflash.org、*.www.aeroflash.org 和 123.321.0.1 的 Flash 文档:

    <?xml version="1.0"?>
    <!-- http://www.aeroflash.org/crossdomain.xml -->
    <cross-domain-policy>
       <allow-access-from domain="www.friendOfAeroflash.org" />
       <allow-access-from domain="*.aeroflash.org" />
       <allow-access-from domain="123.321.0.1" />
    </cross-domain-policy>
    此外,也可以使用通配符允许访问来自任何域的文档:
    <?xml version="1.0"?>
    <!-- http://www.aeroflash.org/crossdomain.xml -->
    <cross-domain-policy>
       <allow-access-from domain="*" />
    </cross-domain-policy>

    Flash跨域调用JavsScript,需要在FLASH脚本调用处加上参数:<param name="allowScriptAccess" value="always" />,该参数默认为:sameDomain。

    众所周知,flash因为安全的考虑不支持跨域访问
    除非你访问的站点有crossdomain.xml(域名根目录下)
    但我们不能让没个站点都放一个
    因此,就就要介绍一下Server-side proxy method
    web脚本代理的方法:
    ColdFusion | PHP | ASP | JSP
    以上的example必须和flash document放在同一个domain的server中才能正常使用,把sample中的URL换成你自己的URL即可。

    官方参考http://www.adobe.com/cn/devnet/flash/articles/fplayer8_security_print.html
  • 相关阅读:
    Fragment使用具体解释
    2014百度之星第一题Energy Conversion
    HDU 2602 Bone Collector 0/1背包
    Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点
    《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录
    ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse
    sql改写or 改成union不等价数据变多
    在GDAL中添加GDALRasterizeGeometriesBuf函数
    多时相地图瓦片简单设想
    记录一次使用VS2015编译错误的原因查找(boost+gdal)
  • 原文地址:https://www.cnblogs.com/zhangsir/p/1364840.html
Copyright © 2011-2022 走看看