登录后如何从一个网站重定向到另一个网站用户主页


how to redirect from one website to another website user home page after logging in?

我有2个网站A和B。每个用户对两个网站A和B都有相同的登录密码。

现在我希望一些特定的用户在登录A网站后登陆(重定向到)B网站的用户主页。

我不希望他们单独打开B网站的登录页面进行登录。

如果该特定用户已登录A网站,则他将被重定向到B网站的用户主页,而无需登录B网站。任何人都可以帮助我如何实现这一目标吗?

编辑 - 有什么方法可以将用户的登录ID密码从A网站的登录页面发布到B网站的登录页面,然后触发登录按钮将用户一次性重定向到B网站的用户主页?

另外,如果我想登录一些外部网站,例如。 通过我的门户像Gmail一样。用户登录我的网站并被重定向到他的Gmail主页有什么方法吗?

您可以使用几种不同的方法做到这一点。

方法 1:使用 Cookie

一旦用户登录到站点 A,您就可以编写一个 cookie:

setcookie("SiteALoginTrue","True",time()+3600,"/",".Site-B-URL.com");
header("Location : Site-B-URL.com); // Redirect the website to siteB

在您的网站 B 代码中,您需要在网站加载时读取 cookie。

方法 2:使用 PHP在您的 SiteA 登录脚本中,您可以保存带有时间戳的记录用户 IP,重定向到站点 B 后,您将需要另一个脚本来检查站点 A 数据库,如果访问的 IP 已登录 = true。一旦站点 B 发现 IP 标记为已登录数据库,则可以创建已登录会话以避免每次页面刷新都检查数据库。

如果您可以通过站点 B 连接站点 A 的数据库

那么这个建议会对你有所帮助。

1) 在现场 A

具有电子邮件user@gmail.com的用户成功登录时的重定向

$userEmail = md5(user@gmail.com);
// Store below key to DB table of users whose email is user@gmail.com
$key = md5(microtime().rand()); 
header('Location: http://www.site-B.com/'."$key/$userEmail");
exit;

2)在现场B,

获取$key$userEmail 与站点 A 的数据库连接。并像这样运行查询,

SELECT * FROM users WHERE MD5(email) = '$userEmail' AND key = '$key'

获取用户并在站点 B 上设置会话。然后从数据库中删除密钥。