Php 如何使用Curl传输会话id?

Php 如何使用Curl传输会话id?,php,curl,session-state,Php,Curl,Session State,我们有一个服务器和多个客户端。若用户在服务器上登录,会话将在服务器上的用户id上创建,我们将使用OpenId将客户端重定向到服务器 但在我们重定向到客户端之前,我想使用curl和redirect获取这个会话用户id,前提是该会话存在于客户端上 我们可以在没有cookie的情况下使用PHP会话吗?因为会话就是cookie,最简单的方法是使用域:sitea,siteb更改cookie。 另一种方法是在url中传递,但如果用户手动键入http://siteb.whatever/在他的浏览器中 例如:

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

但在我们重定向到客户端之前,我想使用curl和redirect获取这个会话用户id,前提是该会话存在于客户端上


我们可以在没有cookie的情况下使用PHP会话吗?

因为会话就是cookie,最简单的方法是使用
域:sitea,siteb
更改cookie。 另一种方法是在url中传递,但如果用户手动键入
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/example/of/path/
siteB.com/
时都会重新发送。如果您未指定过期时间,则在浏览器关闭时将删除它们

消除歧义:过期日期的cookie是持久cookie,否则它们是会话cookie


你也可以使用。另外,请看一看

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

,只有两种方式可以传输会话ID:URL和Cookie。不管怎样,我不能理解你的架构。是否要将PHP会话ID传输到OpenID服务器?为什么不能使用cookies,公司政策?谢谢回复。不,这就像我们希望浏览器仅在服务器上存在用户会话时自动重定向到OpenID服务器。我们也可以使用cookies,但是如何使用跨域的cookies呢。服务器位于不同的域上,客户端位于其自己的域上。我们想看看是否可以使用Curl来检查服务器上是否存在cookie。很抱歉,我仍然发现很难理解您的意思。您有两个服务器,您将它们都称为“服务器”:-?您想在两个不同的服务器之间共享会话标识符吗?我们有一个OpenID服务器和客户端服务器a&B。用户可以使用相同的OpenID登录到两个a&B。现在,如果用户已经登录到客户端a,现在在浏览器中键入客户端B的url,他应该自动登录。我们正在努力解决这个问题:)无论如何,PHP会话依赖于cookies。尝试阅读有关传递会话ID的内容。但我不知道您想在哪里使用curl。听起来有点离题。会话ID。我不确定如何才能做到这一点。。。你能帮我举个例子吗。。提前谢谢@Àlvaro:不相关,它只适用于链接或重定向。这不是问题评论中所说的打字困难。@aparna:编辑了我的答案。据我所知,链接或重定向也不起作用。如果你有办法,我会感兴趣的。