Firefox 34:SSLv3安全漏洞修复,全新的HTML5实现

2014-12-10 10:51


Mozilla本周发布了Firefox 34,比较引人注目的功能包括:默认禁用SSLv3,WebIDE以及ECMAScript 6 WeakSet的实现。

作为App Manager的 替代品,WebIDE可以用OS模拟器或Firefox OS真机设备运行和调试Firefox OS应用。此外,WebIDE还提供一个用于开发Firefox OS应用的编辑环境,并且通过WebIDE,开发者还可以将Firefox开发者工具连接到包括安卓Chrome和iOS Safari在内的其他浏览器上。

今年早些时候,WebIDE作为每夜构建版本的一部分开放时,Abel Avram为InfoQ详细的报道了有关WebIDE的情况。当时,Firefox社区成员怀着矛盾的心情迎接了Mozilla的通告。

在Mozilla Hacks网站上Robert Nyman的博客评论中,一些用户表达了新增的WebIDE会对Firefox性能造成影响的担心。一个只署名为“Frustrated”的用户评论到:

为什么?这个东西什么问题都没解决,却只会带来更多问题。它的确很酷。但是这和Firefox最初的目标,一个又快又好用的浏览器,又有什么关系?最近所有这些改变只能让事情更糟。

针对这些批评,Firefox开发者工具的产品经理Jeff Griffiths回复如下:

除非处于打开状态,Firefox的开发者工具对浏览器的性能几乎不会有任何影响。额外的影响主要体现在下载包的大小上,相对来说影响也不是很大。

这一版本其他方面的更新主要是HTML5的实现,其中包括ECMAScript 6 WeakSet。据Mozilla开发者网络介绍,WeakSet对象可以让开发者在集合中保存弱保持对象。

WeakSet与Set的主要区别在于WeakSet对象只能作为对象的集合而不能作为任何类型的任意值的集合,而且如果保存在WeakSet中的某个对象没有任何其他引用,这个对象可能会被作为垃圾回收。

WeakSet对象的使用方法如下例所示:

var ws = new WeakSet();
var obj = {};
var foo = {};

ws.add(window);
ws.add(obj);

ws.has(window); // true
ws.has(foo);    // false, foo has not been added to the set

ws.delete(window); // removes window from the set
ws.has(window);    // false, window has been removed

ws.clear(); // empty the whole WeakSet

 在安全更新方面,Firefox 34解决了POODLE SSL 3.0的漏洞。POODLE安全漏洞于今年九月下旬曝出,这一漏洞导致黑客可以截获在加密协议中传输的保密信息。

从10月开始,用户已经可以通过Firefox的扩展SSL Version Control禁用SSLv3协议。尽管Mozilla报告称Firefox仅有0.3%的HTTPS链接使用SSLv3协议,Firefox 34现在已经默认禁用了SSLv3协议。Firefox 35承诺将支持通用的TLS降级保护机制SCSV。

Firefox 34其他引人注目的功能还包括引入实时视频通讯功能——Firefox Hello。

据在Firefox 34 beta版本中宣布这一功能的Mozilla产品市场总监Chad Weiner介绍,Firefox Hell的优势在于不需要下载任何新的软件。Hello还允许用户“可以和任何拥有WebRTC功能的浏览器的人创建连接”,除了Firefox外,还有Chrome和Opera浏览器。

Hello还首次为用户提供了联系人管理功能,既可以手工输入联系人信息也可以通过谷歌账户导入联系人。Firefox Hello是基于OpenTok平台的。

关于Firefox 34新特性的更加完整的列表可以在这里的版本发布说明中找到。

Mozilla欢迎任何想要成为Firefox项目一份子的新人,而且对于InfoQ的读者来说,有很多种方式可以为Firefox做贡献。在Mozilla开发者网络上可以找到完整的选项列表,在这里Mozilla还发布了许多How To指南。