代码之家  ›  专栏  ›  技术社区  ›  itsme

如果用户已登录或未登录到某个站点,有什么方法可以确定?

  •  0
  • itsme  · 技术社区  · 14 年前

    我想知道是否有任何方法可以检查用户是否登录到另一个网站域,如facebook、谷歌或推特。

    这合法且可能吗?

    谢谢

    无需使用API

    4 回复  |  直到 14 年前
        1
  •  1
  •   Mike Samuel    13 年前

    对您可以查看登录页面或其他仅限登录访问的页面是否在其浏览器历史记录中。

    福布斯: History Sniffing: How YouPorn Checks What Other Porn Sites You've Visited and Ad Networks Test The Quality of Their Data

    这是基于你的浏览器更改你已经点击的链接的颜色。网站上的一个脚本利用网络隐私泄露来快速检查你的浏览器是否显示指向许多其他色情网站的链接被分配了紫色,这意味着你以前点击过它们。

    Mozilla has blocked this "feature" of CSS 因为它非常粗略。未经用户许可,请勿跟踪用户。

        2
  •  1
  •   VoidWhisperer    14 年前

    您可能想使用站点提供的API:

    1. 脸书: http://developers.facebook.com/
    2. 你不清楚你对谷歌的意思,但我认为你的意思是google+,因为它与你的其他社交网络有关:- https://developers.google.com/+/api/
    3. 推特:dev.Twitter.com

    编辑:在阅读更多内容后,你必须确保你的用户也表示同意。

    编辑:由于你似乎非常反对使用API,而我也不知道你为什么会这样做,因此出于安全考虑,没有一种简单的方法可以不使用API。至少,没有可靠的方法。

        3
  •  1
  •   Friso Kluitenberg    14 年前

    有几种方法可以检查它。有些是不礼貌的,另一些是应该检查的方式。

    以facebook为例,你可以使用他们的api并调用方法:FB.getLoginStatus https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

    一个更为黑客的替代方案(尽管不推荐)是在脚本标记中加载网站,并在javascript中捕捉错误。通常,错误的具体细节会有所不同。不建议这样做

    这合法吗?这不是寻求法律建议的最佳场所,但我敢肯定,在那些修改了所谓饼干法的国家,这是不合法的(未经同意)

        4
  •  1
  •   obe6    14 年前

    这个问题很一般。总之,简短的回答是(显然)不。

    否,因为cookie不会发送到不同的域(其他服务器):这意味着,如果用户在我的网站上浏览,(我的网站的)服务器端不可能知道该用户是否登录了另一个网站,因为我没有收到cookie。

    现在转到客户端。(浏览器)。 你可以从我的网站下载“恶意Javascript”,试图向我发送来自其他网站的信息(例如cookie)。

    当这种恶意Javascript试图窃取信息时,必须面对“同源策略”(相同的域、层协议和端口)。 换句话说,在Javascript中,您无法访问来自另一个“来源”(如前所述)的信息/代码。

    这或多或少是一种理论,那么安全漏洞就可能存在。