Javascript firefox的插件如何访问文件系统

Javascript firefox的插件如何访问文件系统,javascript,Javascript,根据浏览器安全策略,firefox不允许javascript在客户端计算机中保存文件 上面链接的插件可以保存文件,那么为什么我们不能使用javascript将文件保存在文件系统中呢?javascript代码是用户明确选择安装的扩展的一部分,它比用户碰巧访问的页面上运行的代码更受信任。因此,Firefox允许扩展代码实现此功能(访问文件系统),但不允许网页中运行的代码实现此功能 这是有道理的:对于攻击者来说,让用户意外访问其恶意页面并运行其javascript(例如,使用不可见的iFrame)要

根据浏览器安全策略,firefox不允许javascript在客户端计算机中保存文件


上面链接的插件可以保存文件,那么为什么我们不能使用javascript将文件保存在文件系统中呢?javascript代码是用户明确选择安装的扩展的一部分,它比用户碰巧访问的页面上运行的代码更受信任。因此,Firefox允许扩展代码实现此功能(访问文件系统),但不允许网页中运行的代码实现此功能

这是有道理的:对于攻击者来说,让用户意外访问其恶意页面并运行其javascript(例如,使用不可见的iFrame)要比让用户安装恶意扩展容易得多。此外,Mozilla代码会检查他们网站上的每个扩展,以确保它们不是恶意的


我还应该注意,扩展不必用Javascript编写。其中许多都是用本机代码编写的(通常是C++代码),还有XPCOM(扩展与浏览器接口的一种方式)绑定用于其他语言(例如Python);而且,一般来说,你不能信任你访问的每一个网页——这就是为什么会有这样的安全措施


另一方面,对于扩展:

  • 您决定哪个扩展有权在您的系统上运行,因为您是安装它们的人
    • 安装扩展意味着您信任它
  • 由AMO团队进行测试/审查(如果我错了,请纠正我?)

附加组件不受安全限制的约束,因为用户明确安装了它们(例如,表示信任)。有关详细信息,请参阅。这与用户未表示信任的网页上运行的JavaScript有很大不同。

他们说AMO团队对其进行了审查,除了随意、草率的使用之外,我对测试的方式没有太多期望:他们“审查”它们的目的当然是间谍功能等等。