FlashPlayer7安全策略解析

2008-04-02 10:36:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  在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文档里,有一行∶

  <allow-access-from domain="" />

  您能够自行加入容许路径,例如∶

  <allow-access-from domain="*" />

  <allow-access-from domain="luar.net" />

  <allow-access-from domain="www.luar.net" />

  <allow-access-from domain="*.luar.net" />

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

  <allow-access-from domain="*.domainA.com" /> 或

  <allow-access-from domain="*" /> 容许任何domain

  在domainA.com的Flash就能够载入他的数据。

  补充

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash Photoshop实现图片模糊效果动画

下一篇: 键盘感应的Flash动画的制作方法