如果您需要根据网站存储在您计算机上的 Cookie ID 查看网站拥有的关于您的哪些信息,您将如何做到这一点?
2 回答
你不能。
cookie 最好被认为是不透明的票证,从服务器传递到客户端,客户端返回服务器作为存储状态的一种方式,或者对服务器端持久状态的引用,而服务器不需要跟踪它本身。
当然,有些 cookie 是不透明的,尤其是那些有意暴露给 Javascript 的(例如存储客户端首选项),但我假设您对这些不感兴趣。
因此,HTTP 客户端无法窥探 Web 服务器的存储状态。这才是重点。否则会很不安全。
这是一个简单的演示:
[客户]你好服务器。我的名字是鲍里斯。
[服务器]你好鲍里斯。我已为您分配了 3 号访客。我记得您的名字是“鲍里斯”,并将其保存在我的内部数据库中,与 3 号相关联。请在以后的所有请求中将您自己称为 3。
[客户]好的,谢谢,再见。,
(几周过去了)
[客户]你好服务器,还记得我吗?我是访客 3。
[服务器]是的,你好鲍里斯。
[客户]我是访客 3. 请记住我的头发是黄色的。
[服务器]是的,我记得访客3也有黄头发。
(几周过去了)
[客户]你好服务器,还记得我吗?我是访客 3. 我的头发是什么颜色的?
[服务器]你的头发是黄色的。
(更多的时间过去了)
[客户]您好服务器,我是访客 3. 您存储了哪些关于我的信息?
[服务器]你好访客 3. 我知道你的名字和你的头发颜色,但我不会告诉你,因为我不想告诉你。我什至不必告诉你我知道这些细节。
因此,即使在这种情况下 cookie 只是数字“3”,客户端也无法知道服务器存储了关于它的内容。
除非该网站将内容存储在您的 cookie 中,否则您可能无法获得太多信息。cookie 中通常包含一个 userId 或 sessionId,站点使用它来查找它所知道的关于您的信息。该信息存储在您无法访问的数据库中。
你可以做的一些事情:
明智的做法是定期删除您的 cookie 或查找浏览器插件(如自毁 Cookies),如果这让您感到困扰的话。