lixigame 发表于 2011-4-29 10:00:51

[重大问题]CI的SESSION类不能在iframe中设置session的值?

三个controller A,B,C
A文件内容:<iframe src='B'></iframe>
B文件内容:$this->session->set_userdata('test','value');
C文件内容:var_dump($this->session->userdata('test'));

运行A文件之后再运行C文件发现返回的值是false

sunxch100 发表于 2011-4-29 11:56:22

检查一下服务器权限!是部署到服务器上的还是在本地的?也可能是浏览器问题。

Hex 发表于 2011-4-29 12:37:36

CI 的 Session 是 Cookie 实现的,你看看你是不是跨域了。。。
如果有问题,使用我发布的 Session 类库。

lixigame 发表于 2011-4-29 14:45:20

session都是cookie实现的吧,除非是url传递session_id,用PHP自带的session函数就没这个问题

jxiang112 发表于 2011-5-17 18:05:41

回复 Hex 的帖子

怎么才称得上跨域呢?是不是不再同一文件夹?我试了下,不在用以文件夹中设置和读取session会读不到session的值

longjianghu 发表于 2011-5-17 19:36:32

这个有时候和服务器有很大关系。

Hex 发表于 2011-5-17 20:02:17

回复 jxiang112 的帖子

跨域就是不同域名。

jxiang112 发表于 2011-5-18 09:12:09

回复 Hex 的帖子

有没有办法解决session跨域的问题呢?

Hex 发表于 2011-5-18 12:14:29

回复 jxiang112 的帖子

Session 本来就不能跨域啊。。
比如你在 CI 中国登陆的用户名等信息,你去百度,他如果能取到你在 CI 中国的信息,那不就世界大乱了吗?
仔细想想,这是必须的安全限制。

zybo 发表于 2013-9-1 22:44:31

那请教Hex大神,如果我真心想让百度拿到CI中国种下的cookie有没有办法,如果CI自愿把这个cookie贡献给百度。(这里只是打个比方~)
页: [1] 2
查看完整版本: [重大问题]CI的SESSION类不能在iframe中设置session的值?