Bugzilla 最初是由开发者 Terry Weissman 于 1998 年为 Mozilla.org 项目设计开发的,是一个基于 Web 的通用 bug 跟踪系统和测试工具。如今 Bugzilla 已被 Mozilla 基金会、WebKit、Linux Kernel、FreeBSD、Apache、Red Hat、Eclipse 和 LibreOffice 等组织机构使用。
15 年前,Bryan Rasmussen 在 Bugzilla 上提交了一个请求「Ability to do Sandboxing of browser, extension components」(对浏览器、扩展组件进行沙盒处理的功能)。
在 Bryan Rasmussen 提供的详细说明中,他表示:
我的请求是这样的:我想把 Chickenfoot 的安全设置成这样一种方式,即 Chickenfoot 不能访问文件系统,或者最差的情况下只能访问一个子集。
此外,如果有可能对我允许打开的文件系统做一些安全保护那就太好了,一个简单的安全系统可能是我允许 Chickenfoot 写入文件夹,但不允许它读取那里的任何东西;一个更好的安全保护是我可以设置 Chickenfoot 在文件系统中的 X 位置写入扩展名为 .xml 的文件,而在写入后没有办法读取它,也没有办法覆盖它。
这里需要说明的是,Chickenfoot 是一个 Firefox 浏览器扩展,用户可以使用 Chickenfoot 与多个页面动态交互、自动化 Firefox 界面的不同部分、跨多个页面编写活动脚本,或者同时使用网页和本地文件系统。因此 Chickenfoot 是一个非常强大的工具,适用于任何希望自动化操作或扩展网页功能的开发者。
也正是因为功能强大,Chickenfoot 所需要的权限也非常多。而 Firefox 以前的 XUL/XPCOM 或 Add-on SDK 就为扩展提供了各种相关的权限,这是 Firefox 浏览器中权限实现方式的一个缺陷。
不过,Mozilla 在 Firefox 57 中就已经彻底放弃了旧版的扩展,并为开发者提供了一个全新的 API —— WebExtensions API。WebExtension API 提供了一个用户控制的、以 Web 为中心的扩展开发平台,用于扩展 Firefox 的功能。根据 Mozilla 的说法,该 API 在扩展给 Firefox 带来的功能和它们给用户体验带来的风险之间取得了平衡。
因此这个 15 年前所提交的请求,本质上并未得到修复,而是以 “没有进行修复而被意外修复” 的方式得到了解决。
针对一个问题持续追踪 15 年是不是从侧面说明,Bugzilla 确实是一个非常优秀的 bug 跟踪系统呢?
猜你喜欢: