news 2026/8/27 16:40:57

豆伴安全与隐私指南:Cookie会话机制与扩展权限深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
豆伴安全与隐私指南:Cookie会话机制与扩展权限深度解析

豆伴安全与隐私指南:Cookie会话机制与扩展权限深度解析

【免费下载链接】tofuChrome 扩展,用于备份豆瓣账号的数据,并支持导出 Excel 文档。项目地址: https://gitcode.com/gh_mirrors/tofu1/tofu

豆伴是一款用于豆瓣账号备份的 Chrome 扩展,支持把广播、日记、豆列、豆邮等数据完整下载并导出 Excel。作为会接触你登录状态的备份工具,很多人最关心的问题是:它的Cookie 会话机制如何工作?扩展权限申请了哪些、会不会泄露隐私?本文将逐一拆解这两个核心机制,帮助你放心地把豆瓣数据握在自己手里。

一、为什么备份工具需要申请特殊权限?

普通的豆瓣数据分散在广播、日记、影/音/书、相册等多个页面,没有一键导出的官方入口。豆伴的做法是:复用你浏览器里已有的豆瓣登录态,以你本人的身份逐页拉取数据并保存到本地。

这意味着它必须做两件事:

  • 读取豆瓣的 Cookie,模拟你的登录会话去请求接口;
  • 访问豆瓣域名,发起数据请求并把结果存到浏览器本地数据库。

下面逐项看看它在 extension/manifest.json 中声明的权限。

二、扩展权限逐项解析:申请的每一项都只用于备份

豆伴基于 Manifest V3 开发,权限声明非常克制,只有 4 项权限 + 3 条域名白名单:

1. host_permissions:仅限豆瓣官方域名

它请求的主机权限只有:

  • http/https://*.douban.com/*
  • https://*.doubanio.com/*(豆瓣图片/资源域名)

没有<all_urls>,意味着它只能与豆瓣的服务器通信,无法访问你的邮箱、银行或其他网站的页面和数据。

2. cookies 权限:只读登录态,绝不修改

这是本文的重点。代码里读取 Cookie 的位置集中在 extension/services/Job.js 的checkin()方法和 extension/options.js 的账号面板中,其行为是:

  • 调用chrome.cookies.getAll({url: 'https://*.douban.com'})只读取豆瓣域名下的 Cookie;
  • 从其中提取ck(会话密钥)、dbcl2(用于解析用户 uid)等最小必要集合,其余 Cookie 一概不碰;
  • 全程只读不写——它不会修改、伪造或发送 Cookie 到其他服务器。

💡 简单理解:豆伴拿你的 Cookie 只是为了"证明请求来自你自己",就像用钥匙开门后立即归还,不会复制钥匙。

3. storage 权限:设置同步 + 本地数据库

  • 使用chrome.storage.sync保存请求间隔、调试开关等少量设置项(见 extension/settings.js);
  • 真正的备份数据存放在浏览器本地 IndexedDB数据库中(见 extension/storage.js),每用户一个独立库,不上传任何服务器。

4. declarativeNetRequest:只改写 Referer 请求头

在 extension/background.js 中,扩展安装时会注册一条声明式网络规则:对发往*.douban.com的 XMLHttpRequest 请求统一改写Referer请求头为https://m.douban.com/。目的是让接口请求带上正确的来源标识,避免被豆瓣返回 400 错误。规则只作用于豆瓣域名的 XHR 请求,不修改任何响应内容,也不拦截、记录请求数据

三、Cookie 会话机制:临时内存对象,不落盘

理解了权限,再看会话是如何被使用的:

  1. 建立会话:新建备份任务时,Job.checkin()读取 Cookie 白名单集合(ckdbcl2bidue等),调用豆瓣用户接口获取账号信息,生成一个内存中的session对象(见 extension/services/Job.js)。
  2. 任务执行:广播、日记、相册等各个任务模块(位于 extension/tasks/ 目录)统一通过session.cookies.ck在接口 URL 中携带会话参数,逐页抓取数据。
  3. 结束即释放:会话对象只存在于任务运行期间的内存与 IndexedDB 的任务快照中,用于断点续传;Cookie 原文不会被单独持久化存储,更不会出现在导出的 Excel 里。

四、隐私最佳实践清单

结合源码机制,给你 5 条实用建议:

  • 在登录豆瓣后再运行备份:扩展不会替你登录,也没有收集你密码的能力,登录态始终来自你自己的浏览器会话;
  • 用官方渠道安装:从 Chrome 网上应用商店或项目官方下载页获取,避免来路不明的"捆绑包";
  • 定期导出 Excel:数据已本地化保存,导出后即可带走,账号安全无虞;
  • 查看权限声明:在浏览器扩展管理页可复查其权限是否只针对豆瓣域名;
  • 阅读隐私政策:豆伴的"关于"页面提供了联系方式与隐私政策说明(见下图),有任何疑问可邮件反馈。

总结

豆伴的权限设计遵循"最小必要"原则:只读豆瓣的 Cookie、只访问豆瓣的域名、数据只存本地。它的 Cookie 会话机制本质是"借用你自己的登录态完成备份",全程不上传、不落盘、不外传。对于希望把豆瓣十年足迹完整留在自己电脑上的用户来说,这是一款可以放心使用的本地化备份工具。

【免费下载链接】tofuChrome 扩展,用于备份豆瓣账号的数据,并支持导出 Excel 文档。项目地址: https://gitcode.com/gh_mirrors/tofu1/tofu

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 16:37:50

PaperTodo 完整指南:Windows 桌面待办便签工具

PaperTodo 完整指南&#xff1a;Windows 桌面待办便签工具 【免费下载链接】PaperTodo 极简 Windows 桌面便签工具。让桌面上有几张安静、可用、不会打扰人的纸。WPF 原生&#xff0c;支持待办与 Markdown。——A minimalist Windows desktop sticky note tool. It puts a few …

作者头像 李华
网站建设 2026/8/27 16:36:06

105、增强概念与SAP标准程序修改

105、增强概念与SAP标准程序修改 调一个物料凭证过账的问题,用户在MIGO里输入自定义字段,回头查凭证发现字段没存上。我SAP也没有后台配置可勾,只能硬着头皮去看标准代码。T-code SI80还是SE24?忘了,反正进程序里跟着断点走,追到某个BAPI调用之前,发现标准逻辑根本没打…

作者头像 李华
网站建设 2026/8/27 16:33:38

FanControl风扇控制软件:画一条曲线,让机箱安静

FanControl风扇控制软件&#xff1a;画一条曲线&#xff0c;让机箱安静 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendi…

作者头像 李华
网站建设 2026/8/27 16:33:25

gibMacOS:在 Windows 和 Linux 上快速拿到 macOS 官方安装镜像

gibMacOS&#xff1a;在 Windows 和 Linux 上快速拿到 macOS 官方安装镜像 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS 手边只有一台 Windows 开发机&#…

作者头像 李华
网站建设 2026/8/27 16:29:39

Cookie 为什么不能跨 .github.io 共享?5 分钟看懂 Public Suffix List

Cookie 为什么不能跨 .github.io 共享&#xff1f;5 分钟看懂 Public Suffix List 【免费下载链接】list The Public Suffix List 项目地址: https://gitcode.com/gh_mirrors/li/list 为什么 a.github.io 和 b.github.io 两个站点不能共享 Cookie&#xff1f;浏览器靠一…

作者头像 李华