kissmumu 发表于 2008-3-12 15:07:39

怎样使ci的session失效

使用ci的session class。
登录login(),登出logout()都ok了。
他的默认失效是7200.
为安全,我想要关闭浏览器窗口后,session自动失效怎么处理。

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

求助

Hex 发表于 2008-3-12 15:14:28

没用?这个类我没用过,我都是用第三方的 session 类。

kissmumu 发表于 2008-3-12 15:51:14

看来,我要在管理页面上写几个鲜红的大字:退出请不要忘记点击退出登录按钮。:Q

kkito 发表于 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"

kkito 发表于 2008-3-12 16:13:51

logout里

$this->session->sess_destroy();
setcookie("ci_session",""); //不知道php如何把cookie清空

kissmumu 发表于 2008-3-12 16:19:28

我的意思就是,想要关闭浏览器后session立即失效。
普通session关闭浏览器后会失效,使用ci的session class ,关闭后是不立即失效的。ci 的session class 是用cookie保持的,手册上好像提到过。cookie也可以设置,就是ci 的session class我还没找到方法。

Hex 发表于 2008-3-12 16:32:56

CI 的 session 类确实是用 cookie 保存的。

PS: 可以用PHP的session,有第三方类库。

kkito 发表于 2008-3-12 16:35:59

细细研究了下下,呵呵
Session.php中
sess_write
sess_destroy
两个方法

我还是觉得楼主对session这个概念理解有点误差

tiana 发表于 2008-3-12 18:46:25

:lol 我也是用第三方的Session

ackiae86 发表于 2008-5-21 10:29:25

页: [1] 2
查看完整版本: 怎样使ci的session失效