如何检测像Facebook这样的新机器?

2022-08-31 00:57:54

我实际上试图用电脑检测一个人,就像Facebook一样。每当您使用其他计算机登录Facebook时,它都会检测到新计算机并要求您注册它。他们如何发现该人正在使用另一台计算机。可能是他们可以跟踪客户端MAC或实际IP(但这通常会在每次重新连接时更改)。

如何检测到这一点?


答案 1

我最近自己尝试了一下,结果如下:


MACBOOK = 我的笔记本电脑

戴尔 = 我的朋友笔记本电脑

我在瑞典的MACBOOK上登录了Facebook,并被要求为该设备命名

我的朋友在瑞典的戴尔上登录了Facebook,并被要求为该设备命名

我们俩都去了日本。

我在日本的MACBOOK上登录了Facebook,我没有被要求再次命名该设备

我的朋友在日本的戴尔上登录了Facebook,但没有被要求再次命名该设备

我登录了日本戴尔的Facebook,并被要求为设备命名。


因此,由此我得出两个不同的选择:

  1. 在设备上登录的每个 Facebook 用户的持久 Cookie。
  2. 不知何故,Facebook可以匹配MAC地址。

自 2.没有你安装插件或其他什么,我们永远不会实现,我们剩下1。

探索我与Facebook的饼干,我发现了其中的13个。使用谷歌浏览器真的很有用。只需转到 chrome://settings/cookies,您将获得一个列表。

名为“lu”的Facebook Cookie包含以下信息:

Name:   lu
Content:    (data)
Domain: .facebook.com
Path:   /
Send For:   Any kind of connection
Accessible to Script:   No (HttpOnly)
Created:    Thursday, June 9, 2011 8:58:10 PM
Expires:    Saturday, June 8, 2013 8:58:10 PM

这是他们拥有的唯一一个在浏览器关闭时,当天或几天后不会过期的cookie。我有根据的猜测是(数据)将包括他们检查此功能的设备信息。

我还猜测他们将信息存储在他们的数据库中,并且在登录后,他们会再次将数据与您匹配。如果您以某些预定义的方式进行匹配(例如,IP地址和浏览器仍然相同),则会自动获得批准。这可以解释为什么您可以格式化计算机并且仍然批准该设备。

我猜想,如果您删除所有cookie,然后转移到其他互联网提供商,您将需要再次注册该设备。


答案 2

这个过程与cookie关系不大,它被称为指纹识别。

基本上,您可以查看浏览器的功能和支持,并且这种组合可能会有些独特。

你可以在这里测试一下:https://panopticlick.eff.org

以JavaScript为例,但理论可以转置为任何语言:http://valve.github.io/fingerprintjs2/

将其与 Cookie 结合使用是检测独特设备的最佳方式。登录时,将指纹存储在隐藏字段中,并根据您已经获得的可用指纹进行检查。


推荐