快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Flash Player 7 安全策略解析

    在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)


返回类别: Flash教程
上一教程: Flash+XML写了个类似韩国菜单的效果
下一教程: Flash绘画技巧:对象绘制思路[Flash视频教程]

您可以阅读与"Flash Player 7 安全策略解析"相关的教程:
· Flash编程入门:物体的自由运动解析
· AS代码2.0:针对Flash Player 7
· Flash游戏制作常用代码解析(图)
· Flash Player 8安装问题的解决
· Flash Player 8 新特性效果演示集锦
    微笑服务 优质保证 索取样品