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

浏览器为啥没有向服务器send cookie?

[复制链接]
发表于 2008-10-15 11:31:16 | 显示全部楼层 |阅读模式
浏览器:IE7

访问页面 http://www.mydomain.com/home
使用HttpWatch捕获Cookie 
Cookie 返回
Cookie name:ci_session
Direction:Received

Value:85a179c6eeb57086e1c1998ddfdc6401

再次刷新页面,又返回新的ci_session值,居然没有send原来的ci_session值给服务器,由于的我session数据是保存在数据库中的,这样在数据库中就造成了大量的垃圾数据!不知道大家有没有见过这样的现象?而且是时而发生的,不知道是不是浏览器的问题?
发表于 2008-10-15 11:51:03 | 显示全部楼层
你的本地时间和服务器不一样吧,cookie 立即就过期了,我以前遇到过,不过你这个不一定是这样,你可以检查检查。
 楼主| 发表于 2008-10-15 13:41:35 | 显示全部楼层
我就是使用个人笔记本做服务器的,在本地做开发和测试,应该不是cookie时间过期的问题吧,cookie的失效时间是当前的时间戳加上7200秒,偶尔出现这种情况,很怪异。。还有一个问题想咨询一下Hex,DB_Session中有一个变量$gc_probability = 5;用于判断随机数是否小于该值,若小于该值就删除数据库中过期的session信息
srand(time());
if ((rand() % 100) < $this->gc_probability) 
{
   // 删除数据库中过期的session信息
}
不知道这样处理的几率是多大?不大明白为什么这样处理

[ 本帖最后由 hnmazda 于 2008-10-15 13:50 编辑 ]
发表于 2008-10-15 14:07:26 | 显示全部楼层
你可以看看 PHP 文档的 Session 的相关章节,PHP 也是根据概率回收 Session 数据的。

本版积分规则