是否可以检索可用作域之间唯一标识符的用户信息?
作为我想要做的一个简单的例子(不完全是这个,但理论是相同的)说你在UK-news.com有一个主要网站。您还有三个其他网站 - England-news.com,Scotland-news.com和Wales-news.com,都在同一台服务器上托管。
所有4个站点将共享相同的数据库,每个站点都会从中提取相关信息。如果用户成为其中一个站点的成员,他们也可以选择成为任何或所有其他站点的成员。如果用户登录到他所属的网站之一,然后转到另一个网站,我怎样才能让该网站从他登录的网站上识别出来,以便他自动登录?
我的理论是通过PhP在数据库中存储一些用户信息(IP,USER_AGENT,浏览器,屏幕分辨率,计算机名称,操作系统),然后在用户在站点之间移动时检查所有这些信息。然而,即使检查所有这些,我相信两个不同的人有可能拥有完全相同的细节。
是否有任何真正唯一的标识符可以保证在域名之间识别出某人?
由于 史蒂夫
答案 0 :(得分:1)
我不知道你服务器的配置是什么,但是。如果一个站点位于something.domain.com下,另一个位于some2.domain.com,并且域名England-news.com和Scotland-news.com只是指向这些站点的链接,则可以使用URL覆盖,并共享cookie php中的子域名选项。但我认为事实并非如此。所以......
没有100%肯定用户认可。这很棒,想象一下如果有的话会发生什么。您永远不能信任用户数据和标头数据,而有时您甚至不能信任$ _SERVER数组。因此,没有选项可以识别少数域中的同一用户。
1)唯一有用的答案是建议您共享用户mysql表,并使每个站点的所有登录名和密码相同。在这种情况下,有人可以使用相同的数据登录到另一个站点。
2)您可以尝试依靠google acount或facebook acount等二手服务来验证您网站上的用户。但你必须记住,有些人没有Gmail和Facebook,这样的网站的可用性将会减少。
3)使用像永远cookie这样的服务,或类似的东西,但这也不是100%肯定。它使用html5存储,flash对象和一切来验证这是否是同一个用户。但据我所知,如果你足够耐心,一切都可以省略。
祝你好运!