【Flash】FlashPlayer7安全策略解析 (3/235)

< 上一篇下一篇 >
本帖地址: 复制地址

修改 回帖 引用 楼主: ..﹎天涯;

用户形象图片

在Flash Player 6或以前,利用loadVariables()、loadVariablesNum()、LoadVars()、XML.load()等载入外部数据,是不可以跨Domain,即在domainA.com的Flash不可以载入在domainB.com的数据。但载入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播放会出现警告字句,需要访客决定是否准许载入外部数据∶

点此在新窗口浏览图片


图1 访客安全

  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)

回到帖子顶部

回帖 引用 1楼丫头

用户形象图片

                                
回到帖子顶部

回帖 引用 2楼紫葡萄

用户形象图片

润德快递全国统一服务热线:400--811—1818  查询网址:www.friendly-express.com
回到帖子顶部

回帖 引用 3楼自强不息

用户形象图片


哈哈,不错!!!!!!!!!!!!!!!!!
回到帖子顶部
个人信息
  • 荣誉+3
  • 荣誉+2
  • 荣誉+1
  • 荣誉-1
  • 荣誉-2
  • 荣誉-3
发表留言
  • 文章不错!
  • 精华好文!
  • 支持原创文章!
  • 帖子图文并茂,好!
  • 真知灼见,说得好!
  • 恶意广告
  • 违规内容
  • 严重灌水
  • 重复发帖
  • 标题党
你确定要删除此楼层吗
扣20点经验值

快速回复进入高级回复

插入图片 选择表情

验证码 看不清?换一张(不区分大小写)

[完成后按Ctrl+Enter发表]
[回复须知]