我有两个域名。一个域包含登录脚本。它在登录时会创建一个cookie。另一个域有一个URL缩短器。
因此,在具有URL Shortener脚本的第二个域上有一个名为session.php的文件。通常我使用$_COOKIE['sessionid']
来获取会话ID并使用数据库进行匹配。
如何立即获取会话ID?我尝试过几种方法,但没有一种能解决我的问题。
答案 0 :(得分:14)
出于明显的安全原因,您无法读取属于其他域的Cookie。你可以跨子域进行。
为什么不将会话ID附加到转发的URL?
答案 1 :(得分:4)
答案 2 :(得分:3)
Cookies由浏览器发送,仅发送到域,Cookie设置为。
你可以做的事情并不多(意思是没有;)。
但是,如果您的域名是两个不同的子域名(例如login.yourdomain.com
和shortener.yourdomain.com
),您只需相应地设置域名,以使Cookie对所有子域名有效。
在这种情况下,它将是.yourdomain.com
。
您可能需要阅读setcookie()
的文档。
如果你清楚地描述你想要完成的事情,也许会更好。可能还有另一个不涉及cookie的解决方案。
答案 3 :(得分:1)
从登录页面设置cookie时 像这样将cookie设置为整个域
setcookie("c","value",time()*3600*24,"/");
通过这种方式,您可以将cookie设置为整个域。
答案 4 :(得分:0)
您无法从其他域读取Cookie
虽然有几种方法可以传递会话ID。您可以搜索SO以查找cross-domain authorization
最简单的方法是通过查询字符串传递会话ID
答案 5 :(得分:0)
你做不到。 Cookie绑定到单个域。您可以在多个子域中使用cookie。