火狐浏览器可通过分层配置实现退出时全局清除浏览痕迹但保留白名单网站数据:先启用自动清理并勾选关键项;再通过about:config调整清理开关;接着在permissions.sqlite中为指定域名插入sanitizer豁免记录;最后验证白名单网站登录态与历史记录是否保留。

您需要让火狐浏览器在退出时自动清除所有浏览痕迹,但又必须保留几个关键网站(如公司内网、银行系统、邮箱)的历史记录、Cookie 和登录状态——这种“全局清理+局部豁免”的配置无法靠单一开关实现,必须分层设置。
第一步:启用退出自动清理机制
这是整个白名单策略的前提,不开启该机制,后续的例外设置将无从生效。
点击右上角三条横线菜单 → 选择“设置” → 左侧导航栏点击“隐私与安全” → 向下滚动至“历史记录”区域 → 在“Firefox 将会”右侧下拉菜单中选择“使用自定义历史记录设置” → 勾选“在 Firefox 关闭时清除历史记录” → 点击其右侧的“设置”按钮。
在弹出窗口的“历史记录和数据”板块中,【必须勾选浏览历史、Cookie 和站点数据、已缓存的网页内容】;若勾选不全,白名单网站仍可能被误删部分数据。
第二步:为白名单网站禁用自动清理
火狐不提供“排除特定域名”的图形化选项,只能通过底层权限数据库手动写入豁免规则。此操作直接绕过 UI 层,确保每次关闭时这些站点的数据完全跳过清除流程。
在地址栏输入 about:config 并回车 → 点击“接受风险并继续” → 在搜索框中输入 places.history.enabled → 双击该项将其设为 false(临时禁用全局历史写入,为下一步做准备)。
再次在搜索框中输入 privacy.sanitize.sanitizeOnShutdown → 右键该条目 → 选择“修改” → 将原值(类似 {"history":true,"cookies":true,"cache":true})替换为以下 JSON:
{"history":true,"cookies":true,"cache":true,"downloads":false,"formdata":false,"offlineApps":false,"sessions":false,"pluginData":false,"siteSettings":false}
这一步仅控制清除项开关,尚未加入白名单逻辑;真正起豁免作用的是下一步。
第三步:向权限数据库注入白名单域名
Firefox 的退出清理行为最终由 permissions.sqlite 数据库中的 type = 'sanitizer' 条目驱动。需直接插入豁免记录,格式严格,缺一不可。
关闭 Firefox 全部窗口(包括后台进程),否则数据库将被锁定。
打开文件管理器,进入当前配置文件夹:
Windows 路径为 %APPDATA%\Mozilla\Firefox\Profiles\*.default-release\;
macOS 路径为 ~/Library/Application Support/Firefox/Profiles/*.default-release/;
Linux 路径为 ~/.mozilla/firefox/*.default-release/。
找到并备份 permissions.sqlite 文件(复制一份重命名为 permissions.sqlite.bak)。
用 SQLite 浏览器(如 DB Browser for SQLite)打开 permissions.sqlite → 切换到“执行 SQL”标签页 → 粘贴并运行以下语句(将 https://bank.example.com 替换为您自己的白名单网址,每站一行):
INSERT INTO moz_hosts (host, type, permission, expireType, expireTime, modificationTime) VALUES ('bank.example.com', 'sanitizer', 1, 0, 0, strftime('%s','now'));
INSERT INTO moz_hosts (host, type, permission, expireType, expireTime, modificationTime) VALUES ('hr.internal.company', 'sanitizer', 1, 0, 0, strftime('%s','now'));
【注意:host 字段必须只填域名,不带协议(https://)、不带路径(/login)、不带端口(:8080)】。例如 https://mail.google.com 应写为 mail.google.com;http://192.168.1.100:8000 应写为 192.168.1.100。
执行成功后保存更改,关闭 SQLite 工具。
第四步:恢复并验证白名单行为
重新启动 Firefox → 访问任意非白名单网站(如 baidu.com)→ 正常浏览后关闭浏览器 → 再次启动,确认该站历史、Cookie 已消失。
接着访问白名单网站(如 bank.example.com)→ 登录并操作 → 关闭浏览器 → 重启后检查地址栏是否仍能自动填充该网址、是否保持登录态、是否能在“历史记录”中查到访问条目。
若任一白名单网站出现登录态丢失或历史清空,说明第三步中域名填写有误,或未关闭全部 Firefox 进程就编辑了数据库。











