用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8515|回复: 12
收起左侧

[已解决] 怎样使ci的session失效

[复制链接]
发表于 2008-3-12 15:07:39 | 显示全部楼层 |阅读模式
使用ci的session class。
登录login(),登出logout()都ok了。
他的默认失效是7200.
为安全,我想要关闭浏览器窗口后,session自动失效怎么处理。

$config['sess_expiration'] = 0 没有用

求助
发表于 2008-3-12 15:14:28 | 显示全部楼层
没用?这个类我没用过,我都是用第三方的 session 类。
 楼主| 发表于 2008-3-12 15:51:14 | 显示全部楼层
看来,我要在管理页面上写几个鲜红的大字:退出请不要忘记点击退出登录按钮。
发表于 2008-3-12 16:10:18 | 显示全部楼层
If you would like a non-expiring session set the value to zero: 0
设置0应该是一直不失效

我有点看不明白楼主的意思。按照我的理解浏览器关闭与否和session过期应该是没有联系的。http协议。
但我猜是不是ci默认使用cookie来保持session的问题
你可以清掉客户端cookie , 刚刚查看了下下,那个键值为"ci_session"
发表于 2008-3-12 16:13:51 | 显示全部楼层
logout里

$this->session->sess_destroy();
setcookie("ci_session",""); //不知道php如何把cookie清空
 楼主| 发表于 2008-3-12 16:19:28 | 显示全部楼层
我的意思就是,想要关闭浏览器后session立即失效。
普通session关闭浏览器后会失效,使用ci的session class ,关闭后是不立即失效的。ci 的session class 是用cookie保持的,手册上好像提到过。cookie也可以设置,就是ci 的session class我还没找到方法。
发表于 2008-3-12 16:32:56 | 显示全部楼层
CI 的 session 类确实是用 cookie 保存的。

PS: 可以用PHP的session,有第三方类库。
发表于 2008-3-12 16:35:59 | 显示全部楼层
细细研究了下下,呵呵
Session.php中
sess_write
sess_destroy
两个方法

我还是觉得楼主对session这个概念理解有点误差
发表于 2008-3-12 18:46:25 | 显示全部楼层
我也是用第三方的Session
头像被屏蔽
发表于 2008-5-21 10:29:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

本版积分规则