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

时间:2016-03-04 09:52:51

标签: php html redirect

我有2个网站A& B.每个用户都有相同的登录密码用于两个网站A&乙

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

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

如果该特定用户已登录A网站,则他将被重定向到B网站的用户主页而无需登录B网站。任何人都可以帮我解决这个问题吗?

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

另外,如果我想登录某些外部网站,例如。喜欢Gmail通过我的门户网站。用户是否有任何方式登录我的网站并被重定向到他的Gmail主页?

2 个答案:

答案 0 :(得分:4)

您可以使用几种不同的方法来完成此操作。

方法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后,如果登录的IP已登录= true,则需要另一个检查站点A数据库的脚本。一旦站点B发现IP被标记为Logged in database,您就可以创建一个登录的Session来避免每次刷新页面时检查数据库。

答案 1 :(得分:1)

如果您可以通过站点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的DB。和运行查询,

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

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