作为新一代Web语言,HTML5凭借丰富应用、跨平台等特点被公认为未来网页技术的发展方向,并且被全球多家主流厂商寄予厚望。然而,在已经过去的一周, 风头正盛的HTML5却遭受了不小的打击。国外媒体爆料,HTML5在Cookie上的巨大漏洞,将可能短时间内挤爆用户的硬盘。这无疑是给支持HTML5的浏览器厂商泼了一盆冷水,也让用户对于HTML5少了一分“迷信”,多了一分理性。
HTML5漏洞遭曝光
3月4日,国外媒体的一则报道引发了广泛关注。美国22岁的开发者发现了HTML5的一个致命漏洞——大量的Cookie文件的产生将在很短的时间内挤爆用户的硬盘。据这位开发者解释,HTML5的标准中,可以允许网页在用户电脑中保存比过去多的自己定义数据(方式为Cookie)。过去每一个网站可以保存4KB的数据,而HTML5网站根据规范可以保存的数量为2.5MB~10MB不等。比如,用户每次登录Chrome会保存2.5MB的数据,火狐和Opera会保存5MB,而IE则会保存10MB。同时,根据HTML5的技术规范,网站的子域名在发生登录时,必须共享使用网站的Cookie数据保存空间(不得另开空间),可是Chrome、Safari、IE等浏览器没有遵守这一规则。
或许在很多人看来,如今的硬盘容量足够大,就算浏览器厂商不遵守规则,最终产生的数据量也根本算不了什么。然而令人意想不到的是,如果恶意网站进行精心编码,将会借此侵占用户全部的硬盘空间。根据曝光者进行的概念性攻击模型显示,仅仅需要16秒钟,海量的Cookie文件就占用了用户1GB的硬盘空间。这样的结果意味着,你的平板电脑或者手机的硬盘将因此而“挤爆”。
为了让业界更加重视HTML5存在的隐形安全问题,曝光者已经发布了一组代码来利用该漏洞,并专门创建了一个名为Filldisk的网站。同时,他还将此事件报告给了受到影响的浏览器开发商。不过值得一提的是,目前国内浏览器厂商360已经宣布,在第一时间修复了该漏洞,而用户只需升级浏览器版本就可以保证自己免受攻击。
HTML5的漫漫之路
虽然HTML5的漏洞修复工作已经展开,但是这件事情的发生还是给业界提了一个醒儿,作为一项刚刚兴起的技术,HTML5的安全问题需要给予更多关注,尽管早在2011年相关机构和组织就已经开始考虑HTML5的安全问题,并制定了一些技术规范,可是随着HTML5的普及和应用,更多的安全漏洞将出现。而只有充分暴露和修正,未来才能够有足够的安全。
其实,除了安全问题,HTML5的发展还存在诸多的挑战和障碍。3月12日的一则消息,让业界对于HTML5的发展又多了一份担忧。微软对外宣称,将在Windows RT和Windows 8默认启用Flash。对于这一改变,微软的解释是目前绝大多数的Flash内容网站开始兼容Metro下的触摸,使得触摸体验、性能和电池寿命都实现了极大改进,而业界看好并认为可能取代Flash的HTML5,却自2008年第一份草案正式公布后,发展十分缓慢,仍处于完善中。因此在HTML5产品并没有想象中发展那么迅猛的情况下,再加上Flash确实得到了优化,微软在IE10中默认启用Flash,有助于提高用户体验。
从2012年Facebook放弃HTML5,并放言“压宝HTML5是Facebook最大的错误”,到曾经高调支持HTML5的微软也不得不在IE10中默认启用Flash,再加上被媒体高度曝光的漏洞问题,HTML5的发展正在被投下更多的阴影。尤其是在目前标准尚未完善、市场博弈暗流涌动的情况下,人们不禁要对HTML5的未来打上问号。
不过,从长远看HTML5的优势仍然非常明显,主流厂商对其的支持也将发挥更大的作用,且不论HTML5和Flash是否将形成替代关系,HTML5对Web应用的丰富也终将使其在移动互联网时代展现更多“锋芒”。