FLASH的安全问题确实很严重,不过可以通过allowScriptAccess来对角本过行限制。
Macromedia Flash Player 带有一个 AllowScriptAccess 参数,它可以用来控制是否允许执行来自 swf 本身对外脚本。这个特性需要 Flash Player 6.0.40.0 及其以上版本支持。
对外脚本通过使用特定的 FSCommand 或 getURL 命令来完成。
含有 Flash 动画的网页可以在 HTML 代码中为 Flash Player 设置参数(Internet Explorer 使用 PARAM 标记,而 Netscape Navigator 使用 EMBED 标记)。
AllowScriptAccess 参数可以有两个值: "always" 和 "never":
当 AllowScriptAccess 设置为 "never" 时,运行对外脚本会失败;
当 AllowScriptAccess 设置为 "always" 时,可以成功运行对外脚本;
如果没有定义这个参数的值,将会取默认值 "always".
注意:早期版本的播放器会忽略这个参数,通常会表现为 AllowScriptAccess 好像被设置为 "always" 一样。
使用 Object 标记的例子:
<PARAM NAME="AllowScriptAccess" VALUE="never">
使用 Embed 标记的例子:
<EMBED src="display.swf" AllowScriptAccess="never" ... (其他参数)> </EMBED>
为确保浏览器及平台兼容性,请同时使用以上两个标记(译者)。
AllowScriptAccess 能防止来自另一个域的 swf 文件访问本域内 HTML 网页中的脚本。
有关允许来自其他域的 swf 文件访问脚本的潜在安全问题,要获得完整信息,请参阅 Macromedia Flash Player 跨站安全问题(英文) 一文。
附加信息
要获得更多关于检测 Macromedia Flash Player 的信息,请参阅 如何检测Flash Player是否存在(英文,TechNote编号:14526)。推荐的检测方法是使用 Macromedia Flash Player 开发包,它允许你指定需要一个特定版本的 Flash Player.
Macromedia 公司致力于确保 Flash Player 的安全性,并且为了保护 Flash Player 用户和 Flash 内容网站的安全和隐私,作出了很大努力。如果需要获取更多信息,或向 Macromedia 报告问题,请参阅 Macromedia安全区。