繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> Flash Player 7 安全策略解析

Flash Player 7 安全策略解析

2007-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:在Flash Player 6或以前,利用loadVariables()、loadVariablesNum()、LoadVars()、XML.load()等载入外部数据,是不可以跨Domain,即在domainA.com的Flash不可以载入在domainB.com的数据(需要通过 Middleware作中...
关键字:策略 安全 Player Flash

在Flash Player 6或以前,利用loadVariables()、loadVariablesNum()、LoadVars()、XML.load()等载入外部数据,是不可以跨Domain,即在domainA.com的Flash不可以载入在domainB.com的数据(需要通过 Middleware作中间人)。但载入Sub Domain的数据是容许,即放在www.luar.net、luar.net、foo.luar.net的Flash都可以载入在此3个不同的Sub Domain的数据。

Flash Player 7却带来了坏消息,它收紧了安全政策,载入Sub Domain的数据是不容许,不过这只对使用了Absolute Path的Flash有影响,例如loadVariablesNum("http://www.domainA.com/data.txt", 0),一般Web Server都可以设定短网址,例如http://domainA.com,如果Flash通过短网址载入,那麽载入外部数据就会受到影响。

Flash 6版本的Flash,在Flash Player 7播放会出现警告字句,需要访客决定是否准许载入外部数据∶

Flash 7版本的Flash,在Flash Player 7播放就索性没有警告字句,根本载入外部数据的动作已经被否决了。

解决方法,制作一个名叫crossdomain.XML,放在外部数据的Server的root,即http://www.domainB.com/crossdomain.XML。XML文件里,有一行∶

你可以自行加入容许路径,例如∶

通过加入crossdomain.XML,因此也带来一个好消息,Flash Player 7可以载入跨Domain的外部数据!无论是Flash 6或7版本的Flash,只要在Flash Player 7播放,domainB.com的Server有crossdomain.XML这文件,里面有∶

容许任何domain

在domainA.com的Flash就可以载入它的数据。

补充

Flash MX 2004 Professional提供了Data Binding, Web Services组件,网络上有不少免费公开的Web Services,但是因为Flash Player 7这安全政策,根本得物而无所用,真荒谬!(除非那些Web Services网站可以加入crossdomain.XML)

责任编辑:admin
相关文章