【问题标题】:Can chrome extension modify a file in our hard drive?chrome扩展可以修改我们硬盘中的文件吗?
【发布时间】:2014-04-17 05:14:49
【问题描述】:

我正在制作一个 chrome 扩展,它需要在我们硬盘的任何位置添加/删除/修改文件。该位置可以是临时文件夹。怎么可能做到。请提供 cmets 和有用的链接,以帮助我完成这项工作。

【问题讨论】:

标签: google-chrome google-chrome-extension temporary-directory


【解决方案1】:

你不能,但是添加一个本地服务器(nodejs/deno/cs-script/go/python/lua/..)有一个固定的逻辑(安全)来做文件的东西和提供一个 http 服务器在 ajax/jsonp 请求中回复是可行的。

扩展程序将无法安装软件部分。

编辑:如果你想开始使用 nodejs,this could help

【讨论】:

  • Chrome 现在支持File System Access API,因此它可以在没有网络服务器的情况下修改本地文件。
【解决方案2】:

谢天谢地,这是不可能的。

如果 Google 或任何其他公司的扩展程序安装导致妥协,包括完全控制您硬盘上的任何文件(即控制机器),那么他们不会有很多朋友。该扩展程序可以将信息保存到磁盘中可用于存储上述本地信息的位置。您将不会在根目录或任何地方拥有任何执行权限,也不会在存储位置之外拥有任何读取或写入权限。

但是,如果扩展程序从网页用户那里收集信息,它们仍然可能是恶意的(我相信 Google 可以过滤一些可疑的扩展程序)。

如果您确实需要在硬盘驱动器上进行更改,您可以将信息存储在服务器上并使用 Windows 客户端应用程序轮询更改,或者您可以找到存储信息的保存位置并从 Windows 应用程序访问它.

【讨论】:

  • 感谢 jwize 的解释。我们可以在 goole/chrome/app data 中创建一个文件夹吗?因为这个地方已经为 chrome 保留了。
  • 我不确定你能做到这一点。据我所知,如果您转到 %LocalAppData%\Google\Chrome\User Data\Default\Local Storage。我在那里看不到任何自定义文件夹。您可以使用 sqllite 浏览本地存储文件(.localstorage)。 sourceforge.net/projects/sqlitebrowser/?source=dlp。我敢肯定,如果您找到 sqllite 的客户端库,您就可以从 Windows 应用程序管理数据。
  • 如果您正在安装不可靠的扩展,您将面临大量不需要本地文件系统访问权限的风险。我真的不同意你的逻辑,即出于安全目的不应该这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2022-12-13
  • 2011-03-17
  • 2012-09-05
  • 1970-01-01
  • 2023-02-02
  • 2018-04-14
相关资源
最近更新 更多