Session 如何从外部站点访问codeigniter会话变量
我正在尝试向我的Codeigniter网站添加留言板。一切都很顺利,除了一个小部分:我希望我从主站点登录到留言板。由于留言板无法在Codeigniter中运行,我创建了一个子域来运行留言板。这意味着主站点和留言板不共享cookie。留言板是由Phorum驱动的,所以如果我有我的用户的用户id,我可以使用一个钩子登录。换句话说,我的问题基本上归结为能够在一个域上运行一个函数,该函数可以将user_id变量存储在另一个域的会话中 以下是我尝试过的一些事情:Session 如何从外部站点访问codeigniter会话变量,session,codeigniter,messageboard,Session,Codeigniter,Messageboard,我正在尝试向我的Codeigniter网站添加留言板。一切都很顺利,除了一个小部分:我希望我从主站点登录到留言板。由于留言板无法在Codeigniter中运行,我创建了一个子域来运行留言板。这意味着主站点和留言板不共享cookie。留言板是由Phorum驱动的,所以如果我有我的用户的用户id,我可以使用一个钩子登录。换句话说,我的问题基本上归结为能够在一个域上运行一个函数,该函数可以将user_id变量存储在另一个域的会话中 以下是我尝试过的一些事情: 在codeigniter中设置一个控制器,
我几乎没有主意了。有人知道我可以编写一个函数,从不同的域获取CI会话存储的用户id吗?这里有两件事可以尝试: 1) 在CodeIgniter项目的子目录中主持论坛。因此,您的两个网站将具有url
http://mysite.com/
和http://mysite.com/forum
。既然它们共享同一个域,您就可以访问会话了
2) 在论坛登录页面中,显示消息“自动登录”。在同一页面上,在html中添加一个带src=”的iframehttp://mysite.com/autologin/tokenid,但使用css将其隐藏。autologin页面将包含CI会话信息,您可以通过猜不透的令牌id和回显$_会话['user_id'],向世界临时提供这些信息。请记住,当您完成此页面时,请将其过期。然后刷新论坛的登录页面,使用CURL在
http://mysite.com/autologin/tokenid
。这充满了安全漏洞,所以只能作为最后的手段来做。这里有两件事你可以尝试:
1) 在CodeIgniter项目的子目录中主持论坛。因此,您的两个网站将具有urlhttp://mysite.com/
和http://mysite.com/forum
。既然它们共享同一个域,您就可以访问会话了
2) 在论坛登录页面中,显示消息“自动登录”。在同一页面上,在html中添加一个带src=”的iframehttp://mysite.com/autologin/tokenid,但使用css将其隐藏。autologin页面将包含CI会话信息,您可以通过猜不透的令牌id和回显$_会话['user_id'],向世界临时提供这些信息。请记住,当您完成此页面时,请将其过期。然后刷新论坛的登录页面,使用CURL在
http://mysite.com/autologin/tokenid
。这里面充满了安全漏洞,所以只能作为最后的手段来做。好吧,安全漏洞是不允许的。通常mysite.com/forum会指向论坛控制器。我需要mysite.com/forum在根本不使用codeigniter的情况下进入这个板(或者能够在不使用控制器的情况下使用codeigniter函数)。你知道怎么做吗?如果你选择了选项1,mysite.com/forum将是独立于CI框架的自己的子目录。这意味着您可以使用mysite.com/forum中的常规php函数来检查$\u会话变量,该变量将保存您正在查找的CI信息。安全漏洞是不允许的。通常mysite.com/forum会指向论坛控制器。我需要mysite.com/forum在根本不使用codeigniter的情况下进入这个板(或者能够在不使用控制器的情况下使用codeigniter函数)。你知道怎么做吗?如果你选择了选项1,mysite.com/forum将是独立于CI框架的自己的子目录。这意味着您可以使用mysite.com/forum中的常规php函数来检查$\u会话变量,该变量将保存您正在查找的CI信息