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

标签 php facebook

我实际上是在尝试检测一个人,使用计算机,就像 facebook 一样。每当您使用不同的机器登录 facebook 时,它都会检测到新机器并要求您注册它。他们如何发现此人正在使用另一台计算机。也许他们可以跟踪客户端 MAC 或实际 IP(但这通常会在每次重新连接时发生变化)。

如何检测?

最佳答案

我最近亲自尝试过,结果如下:


MACBOOK = 我的笔记本电脑

DELL = 我 friend 的笔记本电脑

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

我的 friend 在瑞典的 DELL 上登录 Facebook,并被要求为设备命名

我们都去了日本。

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

我的 friend 在日本的 DELL 上登录了 Facebook,并且没有被要求再次为设备命名

我在日本的 DELL 上登录了 Facebook,并被要求为设备命名。


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

  1. 每个登录设备的 Facebook 用户的持久性 cookie。
  2. 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/

相关文章:

php - 在 ICU 中,是否可以使用自定义复数规则而不是 CLDR 规则

php - 失败的电子邮件通知

facebook-graph-api - Facebook 的 Graph API 调用限制是多少?

facebook - 如何将 Facebook 分享按钮更改为图片?

Android 分享 Intent 完成

javascript - 我的 JavaScript 函数没有在我的 PHP 代码中运行

php - 将字符串转换为一组固定长度的数组

Javascript div 刷新

html - 将视频播放器html5 iframe嵌入到YouTube之类的Facebook共享中

facebook - "OAuthException", "message": "Error validating application."