通过cURL设置PHP会话 - 它会为客户端或服务器设置会话吗?

时间:2013-05-10 13:59:07

标签: php curl session-variables

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

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

我能解决的问题是:是否会为发送cURL POST的服务器或用户的计算机创建会话?如果其他站点将数据发布到我的站点并且我基于成功登录创建了会话,那么当用户访问我的站点时,他们是否会登录?

我刚刚开始建立这样做的机制,并希望在我走得太远之前检查 - 我开始认为它不会起作用。

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

首先,会话仅适用于您自己的浏览器/“用户计算机”。例如,我登录了一个站点,我使用了一个会话,因此该会话将仅在我的计算机浏览器中保持活动状态。但是当我关闭浏览器时,会话将被销毁。所以要保持会话活着,你需要cookie。感谢

答案 3 :(得分:0)

您无法为未登录您网站的人创建会话,您只需为服务器创建会话,当然它不起作用

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

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