我们如何使用Curl传输会话ID?

时间:2011-07-18 08:16:41

标签: php curl session-state

我们有一台服务器和多个客户端。如果用户在服务器上登录,则会在服务器上的user_id上创建会话,并使用OpenId将客户端重定向到服务器。

但是在我们重定向到客户端之前,我希望只有在客户端上存在会话时才使用curl和重定向来获取此会话用户ID。

我们可以使用没有cookie的PHP会话吗?

2 个答案:

答案 0 :(得分:0)

无论如何,会话都是cookie,最简单的方法是使用domain:sitea,siteb更改Cookie。 另一种方法是在网址中传递它,但如果用户在浏览器中手动输入http://siteb.whatever/,则无效。

例如:

header("Set-Cookie: $mySessionId; Domain=siteA.com; Path=/exemple/of/path; Secure;");
header("Set-Cookie: $mySessionId; Domain=siteB.com; Path=/; Secure;");

将创建两个Cookie,每次连接到siteA.com/exemple/of/path/siteB.com/时都会重新发送。如果您没有指定过期时间,它们将在浏览器关闭时被删除。

消除歧义:有效期限的Cookie是持久性Cookie ,否则它们是会话Cookie

您也可以使用PHP setcookie()。另外,请查看how cookie works.

答案 1 :(得分:0)

能够传输会话以便从另一个浏览器“控制”它们的最可靠方法是使用MySQL或其他存储介质来存储会话,这样会话远离浏览器,然后可以传遍。