0

我想知道是否有任何方法可以检查用户是否登录到另一个站点域,例如 facebook、google 或 twitter。

这是合法的和可能的吗?

谢谢

不使用 API

4

4 回答 4

1

您可能希望使用网站提供的 API:

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

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

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

于 2012-09-29T12:08:55.237 回答
1

有几种方法可以检查它。有些是hacky,其他是应该检查的方式。

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

一个更骇人的替代方案(虽然不推荐)是在脚本标签中加载网站并在 javascript 中捕获错误。通常错误的具体细节会有所不同。不建议这样做

合法吗?好吧,这不是寻求法律建议的最佳场所,但我很确定这在已采用所谓的 cookie 法的国家/地区是不合法的(未经同意)

于 2012-09-29T12:09:03.020 回答
1

这个问题很笼统。无论如何,简短的回答是(显然)不。

否,因为 cookie 不会发送到不同的域(其他服务器):这意味着如果用户在 My-Site 上浏览,则无法从服务器端(My-Site)知道用户是否登录另一个网站,因为我没有收到任何 cookie。

现在移动到客户端。(浏览器)。您可以从 My-Site 下载“恶意 Javascript”,它试图向我发送来自其他站点的信息(例如 cookie)。

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

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

于 2012-09-29T12:22:16.153 回答
1

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

福布斯:历史嗅探:YouPorn 如何检查您访问过的其他色情网站以及广告网络如何测试其数据质量

它基于您的浏览器更改您已单击的链接的颜色。该网站上的一个脚本利用 Web 隐私泄漏来快速检查并查看您的浏览器是否显示指向许多其他色情网站的链接已被指定为“紫色”,这意味着您以前点击过它们。

Mozilla 已经阻止了 CSS 的这个“功能”,因为它非常粗略。未经用户许可,请勿跟踪您的用户。

于 2012-12-28T18:51:33.377 回答