1

我有一个使用 PHP 会话来管理登录用户的网站。另一家公司要求他们的用户登录他们的网站,然后当他们来到我的网站时,用户将自动登录。

为此,我们使用 cURL 将用户详细信息从他们的站点发布到我的站点,在那里我验证它们并创建一个会话以登录它们。

不过,我无法理解的是:会话是为发送 cURL POST 的服务器还是为用户的计算机创建的?如果其他站点将数据发布到我的站点,并且我根据成功登录创建了一个会话,那么当用户访问我的站点时,他们会登录吗?

我才刚刚开始建立机制来做到这一点,并想在我走得太远之前检查一下——我开始认为它行不通。

4

4 回答 4

2

正如其他人所说,这种方法行不通。当您创建 PHP 会话时,它将绑定到发出请求的计算机 - 在这种情况下,它将是另一台服务器。

您需要确定在用户访问您的网站时识别用户的方法。这可能是 mguimard 建议的令牌、第 3 方 cookie,甚至只是他们的 IP 地址(尽管我强烈建议不要为此使用 Ip)。一旦您确定了一种识别方法,您只需将该标识符存储在某个内存/数据库中。当用户带着标识符来到您的站点时,从存储中检索它并自动创建他们的新会话。

于 2013-05-10T14:25:42.800 回答
1

会话将为发出 curl 请求的服务器而不是最终客户端创建。您可以做的是在服务器发出 curl 请求时生成一个令牌,然后将此令牌提供给最终将使用此令牌请求您的站点的客户端。然后您可以检查此令牌以使他登录

于 2013-05-10T14:13:31.843 回答
1

首先,会话只能在您自己的浏览器/“用户的计算机”上运行。例如,我登录了一个站点,我使用了一个会话,所以这个会话只能在我的计算机浏览器中保持活动状态。但是当我关闭浏览器时,会话将被破坏。因此,要使会话保持活动状态,您将需要 cookie。谢谢

于 2013-05-10T14:15:30.113 回答
0

你不可能为那些没有登录你网站的人创建一个会话,你只是为服务器创建一个会话,当然它不起作用

您可以要求服务器建立机制,当新用户登录时,将用户重定向到您的站点以创建会话,然后自动重定向回服务器

或者你可以与服务器实现相同的会话ID方法,例如,ip+useragent,你需要做的是从服务器同步会话,或者服务器将会话推送给你

于 2013-05-10T14:26:37.237 回答