是否可以通过Chrome扩展程序操纵远程计算机的Cookie?

时间:2016-07-19 12:30:22

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

一些背景信息:

我已经实施了一个有效的Chrome扩展程序,可以在浏览器中操作Cookie,与EditThisCookie不同。基本功能包括添加,删除,编辑,导入和导出cookie。

问题:

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

由于这个想法仍然处于起步阶段,我想问一下,这在技术上是否可行?关于Chrome扩展程序(如何使用沙盒等)是否存在任何技术限制,我应该知道这会阻止我实现此目标?

1 个答案:

答案 0 :(得分:2)

假设:

  • 两个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或WebSocket连接向Chrome传达实时更新,并使用Google的OAuth进行身份验证。

还存在比推出自己的服务器更容易使用的后端服务,例如Firebase。开始使用sample extension

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