javascript - 是否可以通过 Chrome 扩展来操作远程计算机的 cookie?

标签 javascript google-chrome cookies google-chrome-extension

一些背景信息:

我已经实现了一个有效的 Chrome 扩展来从浏览器内操作 cookie,与 EditThisCookie 不同。 。基本功能包括添加、删除、编辑、导入和导出 cookie。

问题:

目前,导入和导出 cookie 只能使用必须发送的 JSON 平面文件,因此为了增加便利性,我想知道是否可以将本地计算机上的 cookie直接导入到远程计算机 通过我的扩展。基本上,我想将 cookie 从一台计算机“推送并设置”到另一台计算机。为简单起见,两者都登录到同一个 Google 帐户。当然,需要有一种方法来识别和验证远程计算机,因此我正在考虑使用任何可用的身份验证 API。

由于这个想法还处于起步阶段,我想问一下这在技术上是否可行?我应该了解有关 Chrome 扩展程序的任何技术限制(它们如何沙箱化等)是否会阻止我实现此目标?

最佳答案

假设:

  • 两个 Chrome 实例均登录同一帐户
  • 两者都安装了扩展
  • 为扩展程序启用 Chrome 同步(默认)

在本例中,chrome.storage.sync API自动在实例之间复制存储更改。在这种情况下,您需要做的就是:

  • 一次性更改 Cookie
  • chrome.storage.sync 中记录所需的 Cookie 状态
  • 使用 chrome.storage.onChanged 检测其他实例中的存储变化
  • 处理更改以复制 Cookie 状态

请注意,chrome.storage.sync 不会提供所有更改的事务日志 - 仅提供最新状态。尝试将事务日志存储在 chrome.storage.sync 中以便您可以执行完全相同的操作,可能会遇到 storage quotas快。

如果同步存储的配额或要求不适合您的使用案例,您需要创建自己的数据后端服务器。它可以通过 chrome.gcm API 向 Chrome 传达实时更新或 WebSocket 连接,并使用 Google 的 OAuth 进行身份验证。

还有比部署自己的服务器更容易使用的后端服务,例如 Firebase 。有一个sample extension开始吧。

如果您无法假设另一个实例安装了相同的扩展程序,则您无法远程操作 Cookie,因为 Chrome 不会从远程源同步它们。

关于javascript - 是否可以通过 Chrome 扩展来操作远程计算机的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38458656/

相关文章:

JavaScript 为 event.key 警报 event.keyCode 制作基本的polyfill,以实现 Chrome 的现代化

html - 为什么 Chrome 会同时请求 .svg 和 .ico 网站图标?

google-chrome - 如何在没有 HTTPS 的情况下在 Chrome 中访问相机和麦克风?

node.js - 仅 http cookie + token : double job?

python - BeautifulSoup 登录 - 如何获取具有特定属性和值的 crsf 字段

javascript - 找不到 "application"模板或 View 。什么都不会呈现 Ember Js Rails API

javascript - 使用 Set 在对象数组中查找唯一元素不起作用

javascript - 克隆了我的数组,但原始数组不断被修改。为什么?

HTML5 视频色差 Chrome 和 Internet Explorer

javascript - 使用 Cookie 禁用 JavaScript 功能