I Love China

技术·人生

技术服务生活
繁體

Archive for the ‘FlashPlayer’ Category

[FlashPlayer10]了解FlashPlayer10中安全规则的变化

星期一, 9月 1st, 2008

原文地址:http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes.html
在Adobe FlashPlayer的下一个版本中会有多种新的特征和改进,并且会对旧的内容做些更新。其中一些变化是有了更加严格的安全规则,因此,以前开发的内容可能必须做些改变才能在新的更加严格的安全规则下正常运行。另外的变化则是拥有了以前版本不具有的功能,或者是以前被安全规则限制了的功能。

首先看一下下面列出的Flash Player10 beta中的与安全有关的变化,通过它你可以判断一下是否需要更改你现在的内容,以保证它们的功能在下一个版本中能够正常。
下面的变化可能需要改变您现有的文件

安全相关的新特征


策略文件严格性:阶段二
Adobe从Flash Player 9,0,115,0开始制定关于Flash Player和cross-domain策略文件的规则。考虑到这些变化可能会影响众多的站点,所以决定在FlashPlayer的多个版本中完成3个阶段的变化。

Flash Player 9,0,115,0是第一阶段。之后的Flash Player 9,0,124,0是1.5阶段:仅仅是针对Socket的规则。Flash Player10会完成第2阶段包括针对所有其他非Socket的内容(HTTP/HTTPS/FTP)的跨域策略文件。

阶段二将改变策略文件中的meta-policy的默认行为。meta-policy决定了一个域中策略文件的行为,它允许管理员对该域上的所有策略文件进行控制。meta-policy的概念在阶段一 FlashPlayer9,0,115,0中有介绍。对于那个版本的Player,meta-policy使用默认值”all”,意思是允许该域中的所有策略文件保持有效;这样就能与之前的兼容。
在阶段二,Flash Player10 beta,meta-policy的默认值将会从”all”变成”master-only”。它将会允许所有的master 策略文件(保存在域根目录下名字为crossdomain.xml的文件,比如http://example.com/crossdomain.xml)继续有效。但是,存放在其他位置的其他策略文件必须要一个明确的meta-policy才能使它们继续有效。

有何影响?
将可能影响任何访问跨域内容的SWF文件。这个更新将影响所有在Flash Player 10 beta及后续版本中播放的任何版本的SWF文件(也就是说不管你的SWF文件是发布成几的,7也好,8也好,只要是用Flash Player10的播放器播放,就会受到影响)。也会影响AIR中所有非应用程序的的内容(对AIR应用程序内容本身没有影响)。

我应该做什么
阅读这篇文章,Policy file changes in Flash Player 9.

为您的域定义一个meta-policy。尽管你可能只需要使用master策略文件,仍然推荐您明确定义一个meta-policy。可以在master策略文件中设置meta-policy,也可以通过服务器头的形式发送。
如果你要访问不是自己控制的域,那么你需要联系那个域的管理员,让他更新下meta-policy。


Socket连接超时
对于ActionScript Socket和XMLSocket对象,只有在调用connect()方法后经过预定的时间后都会发送一个securityError消息。也就是说,本来很快的securityError事件会等待更多时间才会触发,另一方面,由于网络堵塞,网络繁忙,可能需要更多时间才能连接成功,但是却引发了securityError事件。先前预置的超时时间是20秒,但是借助新提供的API,Socket.timeout和XMLSocket.timeout,可以指定新的超时时间。
有何影响
可能会影响任何使用Socket或XMLSocket类的SWF文件。这个更新将影响所有在Flash Player 10 beta及后续版本中播放的任何版本的SWF文件(也就是说不管你的SWF文件是发布成几的,7也好,8也好,只要是用Flash Player10的播放器播放,就会受到影响)。也会影响AIR中所有非应用程序的的内容(对AIR应用程序内容本身没有影响)。

我应该做什么
开发者应该能分辨出产生SecurityErrorEvent.SECURITY_ERROR事件的真正原因。另外也可以设置明确的超时时间。较长的超时对网络慢的用户更友好些,而较短的超时则对网速快的用户好。

上传和下载(需要用户交互)
在Flash Player 9,ActionScript可以在任何时间执行上传和下载。在Flash Player 10 beta中,FileReference.browse和FileReference.download操作只有在用户交互时才能用ActionScript触发。包括鼠标点击或按下键盘的动作。
有何影响
可能会影响任何使用Filereference.browse 和Filereference.download的SWF文件。这个更新将影响所有在Flash Player 10 beta及后续版本中播放的任何版本的SWF文件(也就是说不管你的SWF文件是发布成几的,7也好,8也好,只要是用Flash Player10的播放器播放,就会受到影响)。也会影响AIR中所有非应用程序的的内容(对AIR应用程序内容本身没有影响)。

我应该做什么

任何在用户交互事件之外的Filereference.browse 和Filereference.download触发的对话框都需要更新。现在只能把它们放到按钮、快捷键或其他能够跟用户交互的事件处理中。

本地保存和下载
开发者将能够允许用户使用标准的系统浏览对话框在正在播放的SWF文件和用户硬盘之间保存或加载数据。之前的版本需要借助服务器才能实现从Flash Player到用户计算机之间的数据传输。现在可以仅仅通过FlashPlayer就可以在客户端完成。
有何影响

这是Flash Player10 beta的新功能。已经开发的内容不会受到影响,但是以后开发时,可以考虑使用这个新功能。
我应该做什么
如果你想使用这个新功能,那么你需要把内容发布成Flash Player 10 beta。
注意:AIR程序中使用Flash Player9已经可以访问文件API了。


受限的全屏键盘输入
当前的Flash Player在全屏状态下是不允许用户输入的。Flash Player 10 beta会有些改变,允许一部分键在全屏下使用。包括Tab,Spacebar,以及(上下左右)箭头。
有何影响
这个更新将影响所有在Flash Player 10 beta及后续版本中播放的任何版本的SWF文件(也就是说不管你的SWF文件是发布成几的,7也好,8也好,只要是用Flash Player10的播放器播放,就会受到影响)。也会影响AIR中所有非应用程序的的内容。
我应该做什么
看起来似乎不会影响已经制作的内容。但是,现在你可以使用新的键盘支持更新你的内容,以和用户在全屏模式下交互。

新的网络协议:RTMFP
RTMFP提供了在Flash Player和Flash Media Server传输时替代RTMP的功能,它是基于UDP传输。RTMFP用于点对点的能力,允许Flash Player实例不依赖服务器直接发布和播放音频视频。在开始建立连接时依然需要Flash Media Server。
有何影响
这是Flash Player10 beta的新功能。现存的内容不会受到影响。但是新的内容可以使用它。
我应该做什么
如果你想使用这个新功能,你应该发布成Flash Player 10beta,并跟支持RTMFP协议的Flash Media Server通信。如果你是网管,你应该熟悉RTMFP的安全问题,直接点对点通信的能力,以及它如何使用UDP,这可能需要更改你的防火墙配置。

Flash在网页中全屏的一些问题及解决方法

星期四, 3月 20th, 2008

flashCS31、问题:Flash文件放在网页中,全屏后画面卡住,声音正常。
解决方法:在SWF上右键,在弹出菜单中选择“设置”,弹出框中,找到“使用图形加速”,把前面的勾去掉。
2、问题:在遨游浏览器中全屏后无法按Esc键退出全屏
解决方法:无

[AS3]SoundMixer在同一个浏览器多个选项卡中无法工作

星期四, 8月 23rd, 2007

AS3SoundMixercomputeSpectrum() 方法提取声音数据并制作一个频谱图形是件很不错的事情,但是它却存在一些问题。
[问题描述]
浏览器:IE7
系统:WinXPSP2
两个不同域中各有一个swf同样使用SoundMixer.computeSpectrum() 方法提取声音数据,
1、在IE7中单独打开上面两个中的任意一个含SWF的网页,频谱图形都很正常。
2、打开2个IE7,分别用来打开上面两个含SWF的网页,频谱图形也正常。
3、打开一个IE7,新建两个选项开,用来打开上面包含两个SWF的网页,频谱图形不正常,测试抓取错误时看到Security Error :#2121。
[简单分析]
SoundMixer.computeSpectrum() 是抓取应用程序中的当前播放的混合声音的数据。通过上面3种情况下的测试,可以推测,虽然是同一个IE应用程序中的不同选项卡中,但是SWF仍然认为是在同一个应用程序中。
这对我们不是一件好事,因为很多人希望开新选项卡(无论是IE中还是FireFox中),而不是开新的窗口,如果多个不相干的网页中都要使用SoundMixer.computeSpectrum() 做频谱图,那么最终结果是由于安全限制问题,谁都无法正常显示(当然,并不影响声音的正常播放,只是无法成功抓取声音原始数据而已)。就算是使用跨域策略解决了访问问题,但是现实是我们更希望SoundMixer.computeSpectrum() 抓取的是自己的SWF中播放的声音数据,而不是所有SWF中播放的声音数据
[如何解决]
computeSpectrum是静态方法,所以无法创建SoundMixer的实例来使用它。唉,想不到解决的办法。等待Adobe解决
无解决办法。

Flash Player 9 Update 3发布, 代号影星

星期三, 8月 22nd, 2007

AdobeFlashPlayer目录表

  • 一、新增/加强的功能描述
  • 二、如何使用这些功能
  • 三、新增功能说明了什么
  • 四、相关资源

于8月21日发布的Flash Player 9 Update 3,其代号为影星(MovieStar),在全屏模式和视频方面进行了不小的加强,在视频网站及其火爆的今天,FlashPlayer的这一改进,更会巩固它的市场地位!不管是由于和微软的竞争,还是自己本身的努力促成的这一成果,对用户来说,都是好事,有什么比享受到更优秀的服务更好的事情呢? (阅读全文…)