在用户点击其他网站上的链接时记录用户的PHP脚本的最佳方式?

时间:2011-07-21 10:50:20

标签: php authentication openid

  

可能重复:
  Single Sign On - how to implement?

我有两个完全不相关的网站。我需要编写一个php脚本,将用户发送到第二个站点并将其登录。需要安全地执行此操作并发送用户信息(如用户名,个人资料详细信息等)。

实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

在两个站点之间设置SSL连接。

并将用户信息添加到例如JSON字符串并将其发送到其他站点。

在另一个站点上,您需要再次检查凭据(在JSON字符串中)。

答案 1 :(得分:0)

您所说的是SSO(单点登录)。

有很多方法。

一种简单的方法是实现某种形式的令牌共享,以确保所请求的用户在传递它们之前是现有且有效的用户,或者接受在目标站点上绕过登录的请求。

答案 2 :(得分:0)

我通过在链接中包含所有必要的数据来解决它:

  http://example.com?id=user-info

“user-info”加密所需的一切:

$cyphre = new Crypt_Xtea;  
$user-info = $username."-".$password."-".$any-other-info-i-need; 
$user-info = urlencode(base64_encode($cyphre->encrypt((string)$user-info, "[cyphre key]")));

另一边我有

$cyphre = new Crypt_Xtea;  
$user-info = $cyphre->decrypt(base64_decode(urldecode($_GET["id"])),"[cyphre key]");
$user-info = explode("-",$user-info);

在这个例子中:

$user-info[0] = $username;
$user-info[1] = $password;
etc

这种方法的缺点:

  • 您必须有权访问双方的源代码
  • 它不是防弹的(盐,盐,盐!)