as3 php 安全沙箱,Flash as3安全沙箱

一、安全沙箱

安全沙箱相对于客户而言,是以加载的资源的原始域为基础,把不同域的文件资源分配给不同的组,这个组就叫安全沙箱。

沙箱类型:沙箱有5个不同的种类。

远程沙箱:来自网络的资源,只能访问授权的网络资源和数据。

远程交互的本地沙箱:只能访问授权的网络资源和数据。可以加载受信任的本地沙箱和只能与远程交互的本地沙箱的SWf,可以加载本地的非SWF内容,但无法访问内容中的数据。

本地交互的本地沙箱:只能访问本地资源。 受信任的本地沙箱:可以访问任何域的内容和数据。当然网络的需要授权。

AIR应用程序沙箱:可以访问任何域的资源和数据。但不允许AIR应用程序沙箱外的文件跨脚本访问应用程序沙箱的代码。

二、权限控制

高到低:管理员控制->用户控制->网站控制-> 开发者控制。

管理员和用户可以在受信任目录添删受信任的路径或者文件。该文件或者该路径下的文件就是受信任的本地沙箱。

三、网站控制

通过在web服务器上配置策略文件使得服务器上资源或者数据可访。

Flash支持2种服务器连接,因此有2种对应的策略文件:URL策略文件(资源加载)和套接字策略文件(低级网络通信)。

Flash要求使用尝试的连接希望使用的协议来传输策略文件。

主策略文件:在默认情况下,Flash首先在服务器的根目录中查找名为crossdomain.xml URL策略文件,和端口843上找套接字策略文件。这些文件叫做主策略文件。对于套接字连接,Flash还会在与主连接相同的端口查找套接字策略文件,但该文件不视为主策略文件。

除指定访问权限外,主策略文件还包含一条元策略语句,指定哪些位置可以包含策略文件。

URL主策略文件默认元策略是master-only,表示仅用主策略文件。

套接字主策略文件默认元策略文件是all,表示主机上任何套接字都可以提供套接字策略文件。

SWF可以通过Security.loadPolicyFile方法来检索其他策略文件或目录,当主策略文件指定了目标位置能够提供策略文件该方法才有效。

在尝试任何需要策略文件之前,务必先调用该方法,Flash会自动将网络请求加入队列并排在对应的策略文件尝试之后。

在检索主策略文件时,Flash会有用3秒等待服务器,如果服务器没响应,就假定主策略文件不存在。但是,对loadPolicyFile的调用没有默认超时值,Flash假定调用的文件存在,在加载文件前会一直等待。因此,可以明确调用该方法来确保主策略文件的加载。

URL策略文件范围:URL策略文件包含单个,该标签中可以包含多个标签来授权域,可以是ip或者域名,但Flash不会进行DNS解析。

预加载策略文件

加载文件和套接字连接是异步,Flash会在等待策略文件加载完才进行。但从加载的文件中提取数据(像素或声音)是同步的,必须先加载策略文件。

设置Loader.load方法中context参数的checkPolicyFile为true,Flash会先检测以加载的策略文件,然后查找主策略文件,同时检查元策略,最后考虑SSecurity.loadPolicyFile方法中的未处理的调用,以检查他们是否在范围内。

四、开发者控制

通过Security.allowDomain方法来对域或者ip授权,同样不DNS解析。

加载内容 和提取数据:必须在同域

跨脚本访问:必须同域

套接字加载数据

套接字连接默认情况下禁止的,即使是同域,除非有策略文件,检查套接字策略文件的顺序:主策略文件->与主套接字连接所在的端口->其他套接字策略文件。 要从其他位置检索策略文件,请先调用加载策文件方法,行如:Security.loadPolicyFile(”xmlsocket://127.0.0.1:8010”)

套接字策略文件的标签比URL策略文件多一个属性to-ports,表示允许的端口列表。如果套接字文件来自低于1024的端口,则他对任何端口开放权限,否则只对1024及以上端口开放。

限制网络API 有2种方式: 1.为了防止恶意行为,需阻止对常用保留端口的访问。任何访问网络URL的API都受到约束,除了直接调用套接字的API,如Socket.connect或者SecurityloadPolicyFile在外。 2.要控制SWF文件 通过在包含SWf的html文件的object和embed标签中设置allowNetworking来控制SWf访问网络的功能。该参数的取值可能为: ”all”:允许所有网络API. ”internal”:允许除浏览器导航和交互外的所有网络API. ”none”:不允许浏览器导航和交互以及SWF到SWF的通信API.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值