是否可以将用户 cookies/profiles 与 Tamper/Greasemonkey 交换?

Is it possible to swap user cookies/profiles with Tamper/Greasemonkey?

chrome "swap my cookies" 扩展允许您在 chrome 中的多个 'profiles' 之间切换,跨越所有站点。

我正在尝试创建类似的东西来测试我自己的网络服务,所以我想将它限制在我的域中。

方便的是,能够使用 tampermonkey 或 greasemonkey 从小型用户脚本执行此操作,以添加一个可以交换 cookie 等的菜单。

有人知道如何开始吗?或者如果它完全可能?

如果您的 cookie 不是 httponly,您可以使用 document.cookie 加载它们,使用 GM_setValue('cookie_profile_a',document.cookie)GM_getValue('cookie_profile_a') 保存它们,或者使用 localStorage.setItem('cookie_profile_b',document.cookie)localStorage 中保存它们和 localStorage.getItem('cookie_profile_b')。要在 Tampermonkey 中创建菜单,您可以使用现有的解决方案,例如 GM_config ().

扩展程序可以访问所有域的所有 cookie,但内容范围脚本(如页面脚本和用户脚本)只能访问其域的文档 cookie。这是一种防止页面脚本干扰来自其他域的 cookie 的安全措施。

此外,页面脚本无法访问浏览器配置文件。

因此,任何 content/user 脚本都无法满足您的要求。

在多个域上运行的用户脚本可以 read/write 一旦注入这些域中的 cookie 数据。 因此,A、B、C 域上的脚本 运行 可以 get/copy 来自域 A 的 cookie 的数据注入到 A 后,然后存储数据,然后注入域 B.

后,将数据写入域 B 的 cookie 中