0

我刚刚访问了https://developer.mozilla.org/en-US/demos/detail/the-planetarium/launch

然后我点击顶部栏中的“喜欢它”按钮。它显示“你喜欢”。然后我清除了 Chrome 的用户数据。但我仍然可以看到按钮显示“你喜欢”。

如果我在另一个浏览器上打开此页面,它会显示“喜欢它”。

那么 Mozilla 开发者网络的 Demo Studio 将用户数据保存在哪里呢?用户如何删除他们的数据?我认为用户几乎不可能删除这些数据。

4

1 回答 1

2

你想多了 - 数据根本没有存储在浏览器中。服务器似乎使用您的 IP 地址和用户代理字符串的组合来记住您的选择。如果我启动不同的浏览器,我不会看到我的选择被记住。一旦我将用户代理字符串操作为与第一个浏览器相同,我就会在那里看到“你喜欢”。换句话说,要“删除”您的数据,您只需将浏览器更新到较新的版本(使用某些扩展程序操作用户代理字符串将具有相同的效果)或重新连接到 Internet 以获取新的 IP 地址。

更新:这个应用程序的源代码显然在 Mozila 的kuma 存储库中。“点赞计数器”是一个ActionCounterField,管理唯一性的代码是ActionCounterUniqueManager。如果您检查get_unique实现,您会发现它确实使用 IP 地址和用户代理为未经过身份验证的用户构建“用户标识符”。更改IP地址似乎没有效果的事实可能是一个错误(可能与Mozilla负责缓存的反向代理有关)。

Update2:确认这是一个错误。我启动 Chrome 并立即看到我喜欢这个演示 - 显然代码当前看到每个人的相同 IP 地址。对此提交了错误 766492

于 2012-06-20T08:04:25.007 回答