我实际上是在尝试检测一个人,使用计算机,就像 facebook 一样。每当您使用不同的机器登录 facebook 时,它都会检测到新机器并要求您注册它。他们如何发现此人正在使用另一台计算机。也许他们可以跟踪客户端 MAC 或实际 IP(但这通常会在每次重新连接时发生变化)。
如何检测?
最佳答案
我最近亲自尝试过,结果如下:
MACBOOK = 我的笔记本电脑
DELL = 我 friend 的笔记本电脑
我在瑞典的 MACBOOK 上登录了 Facebook,并被要求为设备命名。
我的 friend 在瑞典的 DELL 上登录 Facebook,并被要求为设备命名。
我们都去了日本。
我在日本的 MACBOOK 上登录了 Facebook,没有要求我再次命名设备。
我的 friend 在日本的 DELL 上登录了 Facebook,并且没有被要求再次为设备命名。
我在日本的 DELL 上登录了 Facebook,并被要求为设备命名。
因此,据此我得出两个不同的选择:
- 每个登录设备的 Facebook 用户的持久性 cookie。
- Facebook 可以通过某种方式匹配 MAC 地址。
如果不安装插件或诸如此类的东西,2. 是永远无法实现的,所以我们只剩下 1.
探索我在 Facebook 上的 cookie,我发现了其中的 13 个。为此使用 Google Chrome 浏览器非常有用。只需转到 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 然后转到不同的互联网提供商,您将需要重新注册该设备。
关于php - 如何检测像 Facebook 这样的新机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3830037/