Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在域之间识别访问者_Php_Mysql - Fatal编程技术网

Php 在域之间识别访问者

Php 在域之间识别访问者,php,mysql,Php,Mysql,是否有可能检索可以用作域之间唯一标识符的用户信息 举个简单的例子来说明我想做什么(不完全是这个,但理论是一样的),比如说你在UK-news.com上有一个主网站。你还有另外三个网站——England-news.com、Scotland-news.com和Wales-news.com,都托管在同一台服务器上 所有4个站点将共享同一个数据库,每个站点只需从中提取相关信息。如果用户成为其中一个站点的成员,他们还可以选择成为任何或所有其他站点的成员。如果用户登录到他所属的其中一个站点,然后又转到另一个站

是否有可能检索可以用作域之间唯一标识符的用户信息

举个简单的例子来说明我想做什么(不完全是这个,但理论是一样的),比如说你在UK-news.com上有一个主网站。你还有另外三个网站——England-news.com、Scotland-news.com和Wales-news.com,都托管在同一台服务器上

所有4个站点将共享同一个数据库,每个站点只需从中提取相关信息。如果用户成为其中一个站点的成员,他们还可以选择成为任何或所有其他站点的成员。如果用户登录到他所属的其中一个站点,然后又转到另一个站点,我如何才能让该站点从他登录的站点中识别出他,从而自动登录

我的理论是通过PhP将一些用户信息(IP、用户代理、浏览器、屏幕分辨率、计算机名、操作系统)存储在数据库中,然后在用户在站点之间移动时检查所有这些信息。然而,即使对照所有这些,我相信两个不同的人也有可能拥有完全相同的细节

是否有任何真正唯一的标识符可以保证一个人在域之间被识别

谢谢
Steve

我不知道您的服务器的配置是什么,但是。如果一个站点位于something.domain.com下,另一个位于something.domain.com下,并且域England-news.com和Scotland-news.com只是指向这些站点的链接,那么可以在php中使用url覆盖和通过子域共享cookies选项。但我认为情况并非如此。所以

没有100%确定的用户识别。这很好,想象一下如果有,会发生什么。您永远不能信任用户数据和头数据,而有时甚至不能信任$\u服务器阵列。因此,在几个域中无法识别同一用户

1) 唯一有用的答案是建议您共享用户mysql表,并使每个站点的所有登录名和密码相同。在这种情况下,有人可以使用相同的数据登录到另一个站点

2) 你可以尝试依靠二手服务,如谷歌账户或facebook账户来验证你网站上的用户。但你们必须记住,有些人没有gmail和facebook,这样一个网站的可用性将会降低

3) 使用像forever cookie之类的服务,但这也不是100%确定的。它使用html5存储、flash对象和所有东西来验证这是否是同一个用户。但据我所知,只要你有足够的耐心,一切都可以接受


致以最良好的祝愿

这是StackExchange做得不好的一个例子。堆栈站点可以做到这一点,您需要查看OAuth及其ILK。SE就是这样做的,但它并不像您希望的那样自动化。可能scrowler指的是,有时在SE上的站点之间移动时,您必须再次单击“登录”,但随后它会看到您已经登录(例如,通过google登录)我曾经考虑过OAuth之类的网站,但我真的希望这些网站不含任何第三方脚本。我不确定OAuth与第三方脚本有什么关系。如果你能100%确定域之间的用户识别度,那么这个网络肯定会是一个很好的例子。不过,他们实现了“我们能做到的最好”解决方案的类型看起来确实太复杂了,不值得这么做,特别是如果没有解决方案是100%准确的。我发现了一个解决方案,建议使用iFrames秘密地将所有站点的页面包括在所有其他站点中,但这感觉不太对?从来没有想过iFrames是一个答案。有一种可能性,它将工作,但考虑到帐户安全和问题的复杂性。。。我不是100%相信它是否值得。但我将对iframes的安全性进行研究,因为这听起来很复杂,但很有希望:)。