清完Cookie又冒出来,那张提示单说明了什么
桌面右上角压着一张便利店打印小票,清完背面是又冒我自己写的三行字:10:12 清了全部 Cookie,10:20 某站又弹出“同意全部”,出那10:31 退出登录再进,张提头像直接回来了。示单说明这张单子本来是清完用来记停车费的,结果成了我那天排查“清了又回来”的又冒现场记录。小票本身不说明任何技术问题,出那但它把三个时间点钉住了,张提让我没法再用“大概是示单说明缓存没清干净”糊弄自己。
10:20 那条弹窗:先分清“被记住”和“被重新写入”
清完 Cookie 之后马上又看到同意弹窗,清完第一反应往往是又冒“没清掉”。但按时间顺序看,出那这里有两个不同的张提动作:一个是浏览器把旧数据删了,另一个是示单说明页面重新加载后又写了一份新数据。前者是清理,后者是网站的正常行为。真正需要判断的是:它凭什么在同一秒就把偏好写回来。
我当时的做法是打开开发者工具,切到“应用”面板,左侧找到“存储”里的 Cookie 一项,按域名看条目。清完之后刷新页面,如果条目在几百毫秒内重新出现,且名称和之前一致,那基本是站点在你每次访问时都重新下发一份,而不是清理失败。这一步能排除一半误判。反过来,如果条目没变、时间戳还是旧的,才需要怀疑清理动作本身没生效,比如清的是另一个浏览器配置文件,或者清的时候这个站点正开着。
这里有个容易忽略的边界:有些浏览器把 Cookie 归在“站点数据”下面,和本地存储、IndexedDB 放在一起。只勾 Cookie 一项,站点用本地存储记的偏好不会动;反过来只清站点数据,某些会话级的东西又可能被一起带走。所以看到弹窗回来,先别下结论,先看它到底往哪个存储里写。
10:31 头像自动回来:登录态不只看 Cookie
小票上第三行是最有信息量的一行。我退出登录,再点进首页,头像直接显示已登录状态。这说明“登录”这件事不完全挂在 Cookie 上,或者退出动作只清了服务端会话的一部分。常见的几种情况:站点把令牌放在本地存储里、放在 IndexedDB 里,或者用了浏览器自带的凭据管理、密码管理器自动填充。还有一种更朴素的可能——我退出的只是当前标签页,另一个标签页里的会话还活着,刷新之后又同步回来了。
这一节的判断动作很具体:退出登录后,不要立刻重新点登录,先开一个无痕窗口访问同一站点。无痕窗口默认不共享普通窗口的 Cookie 和站点数据。如果无痕里是未登录状态,普通窗口却是已登录,那问题就落在普通窗口的存储上,而不是账号或服务端。如果无痕里也自动登录,那要考虑浏览器账号同步、凭据自动填充,或者站点本身用了跨设备的会话机制。这两种结果指向完全不同的下一步,别混在一起猜。
Cookie 清理出现反复,很多时候说明的不是“清理没用”,而是清理的范围和登录态的存放位置没对齐。把“哪些数据属于会话、哪些属于偏好、哪些属于凭据”分开看,反复的次数会明显下降。
第二天早上再核一遍:用一张四行的核对单收口
第二天我没有再凭记忆操作,而是在那张小票背面补了四行,每行只填是或否:
第一行,清理时这个站点是否已经全部关闭,包括后台标签页和独立窗口。
第二行,清理入口选的是“Cookie 及站点数据”,还是只勾了其中一项。
第三行,退出登录后,无痕窗口是否仍显示已登录。
第四行,浏览器是否开着账号同步或密码自动填充。
这四行不需要任何工具就能填。第一行解决“边用边清”的干扰;第二行解决范围不对;第三行把登录态和 Cookie 分开;第四行排除浏览器自己把凭据带回来的情况。四项里只要有一项填“是”,就先去处理那一项,再谈“为什么清了还反复”。
反例也说一个:有人看到弹窗反复,就把所有站点数据一键清空,结果常用站的登录、草稿、离线缓存全没了,问题却没解决,因为真正写回偏好的那个存储项不在清理范围里。这种做法的代价很高,收益却不确定,不建议作为第一步。
如果四行都填“否”,弹窗依然每次访问都出现,那就不是清理手法的问题了。此时更值得做的是记录:同一站点连续访问三次,每次记下弹窗出现的时间、当时是否登录、是否换了网络。带上这份记录去站点自己的帮助入口或浏览器官方支持渠道核对,比继续反复清 Cookie 有效。Cookie 清理出现反复,本质上是提醒你把“删了什么”和“谁在写回”分开核对,而不是把手速练得更快。