【问题标题】:How to know if a user has a facebook account?如何知道用户是否有 facebook 帐户?
【发布时间】:2012-12-25 04:55:21
【问题描述】:

我需要知道我网站的用户在过去 30 天内是否登录过 Facebook。

我可以通过 facebook cookie 或其他方式知道吗?

【问题讨论】:

  • 希望不会,那会很吓人...
  • 您可以创建一个<form>,询问“您在过去 30 天内是否登录过 Facebook?”
  • @brian_d,这不应该是一个答案吗?
  • 请问您为什么需要知道这个?

标签: php facebook cookies


【解决方案1】:

创建一个询问的<form>

  1. “您有 Facebook 帐户吗?”
  2. “如果是,您在过去 30 天内是否登录过?”

编辑: 这是Abusing HTTP Status Codes to Expose Private Information上的一篇有趣的帖子

【讨论】:

    【解决方案2】:

    您将无法随时检查用户是否已登录 Facebook。您可以利用CSS history hack 查看用户是否访问过 Facebook。

    但这仍然有点不道德......

    【讨论】:

    • 这也不一定表示他们在过去 30 天内访问过,也不表示他们已经登录过。
    【解决方案3】:

    您可以尝试检查Facebook Developer Tools 以了解网站集成。

    【讨论】:

      【解决方案4】:

      回答您的标题问题 - 实际上,可以知道用户是否拥有 facebook 帐户,但前提是他/她现在登录到 facebook(即使对于那些以前从未授权过您的应用的用户)。您可以通过调用FB.getLoginStatus() 并检查返回的状态来执行此操作。如果它等于notConnected - 用户现在登录到facebook。

      【讨论】:

      • 如果他/她没有登录 facebook 会返回什么?
      • @xRobot 它将返回 unknown
      【解决方案5】:

      您无法从“其他”网站读取 cookie。实际上,您根本无法读取任何 cookie。客户端/浏览器向您发送 cookie 及其值。他们没有理由将 cookie 发送到与完全不同的站点相关联的 Web 服务器。如果您想知道用户是否登录过 facebook,您必须询问 facebook 服务器(如果他们有这样的 API 并且您是否知道用户名)

      【讨论】:

        【解决方案6】:

        不 - 即使你知道他们的 Facebook ID、他们的电子邮件地址、用户授予你每个 extended permission,并且还知道用户最喜欢的颜色和他们所有宠物的名字,你仍然 em> 无法确定您的要求。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-27
          相关资源
          最近更新 更多