flash8安全性问题解析

[1b]帮助上说:涉及到以下方法的操作都需要crossDomain.xml:[/1b]
XML.load()、
XML.sendAndLoad()、
LoadVars.load()、
LoadVars.sendAndLoad()、
loadVariables()、
loadVariablesNum()、
MovieClip.loadVariables()、
XMLSocket.connect()
Macromedia Flash Remoting (NetServices.createGatewayConnection)
Webservices。
   [1b]下面这些方法是不需要crossDomain.xml也能成功加载的:[/1b]
loadMovie()
MovieClip.loadMovie()、
MovieClipLoader.LoadClip()。
Sound.attachSound 和
Sound.loadSound
   [1b] 但是在操作不同域的swf的时候,我们需要在被操作的swf上加上[/1b]:
System.security.allowDomain("*") 或 System.security.allowInsecureDomain("*")(想特别指定也行,这里为了方便...)
    [1b]先看看Flash8帮助里面的原文:[/1b]
    如果两个 SWF 文件是不同的域提供,例如
   
[url=http://mysite.com/movieA.swf]
[color="#006e01"]http://mysite.com/movieA.swf[/color]
[/url]

    和
[url=http://othersite.com/movieB.swf.]
[color="#006e01"]http://othersite.com/movieB.swf.[/color]
[/url]
    则在默认情况下,Flash Player 不允许 movieA.swf 编写 movieB.swf 的脚本,也不允许 movieB 编写 movieA 的脚本。
[color="#ff0000"]通过调用 System.security.allowDomain("mysite.com"),movieB.swf 可以授予 movieA.swf 编写 movieB.swf 的脚本的权限。[/color]
通过调用 System.security.allowDomain(),一个 SWF 文件可以赋予其它域中的 SWF 文件编写其脚本的权限。这称为跨域脚本编写。
    大家注意看红色这句,究竟System.security.allowDomain("mysite.com")是写在movieA.swf还是写在movieB.swf里面呢?根据继续查阅allowDomain(security.allowDomain 方法),System.security.allowDomain("mysite.com")是写在movieB.swf上的(Orz..)
    这样一来...Fp的安全存在的价值大概就是保护用户,保护知识产权...搞了一个下午终于搞懂了...再Orz一下..
    其实对安全问题的研究也不需要很深入...什么时候做什么会出现安全问题呢?Adobe还是很厚道的,只要去翻翻帮助,看看你使用的方法有没有安全性的提示就好了..
    例如在Flash8的帮助中,"ActionScript 语言元素 > 全局函数 > loadVariables 函数"就清清楚楚地说明了会引起相关的安全性的问题...
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/871.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值