我整合了ec,dz,uch
dz是7.0版本的,uch是2.0
之前一切一切一切正常,5月6号开始,出现这种情况:有两台电脑,登录之后,只要在dz里面逛一下,或者在UCH的排名那里什么"帅哥排名啊,美女排名"啊之类的到处点一下,就会掉线,但只限于UCH掉线,EC跟DZ都不会掉.并且据了解,这种情况就在我这台电脑跟局域网内的一台电脑中出现,而局域网中另一台电脑却没有问题.出现问题的这两台电脑频繁地换过ID,我有一点点怀疑是不是与这有关....
这种情况却在6号下午莫名其妙地没出现过了.直到昨天,就是5月7号了.又出现了这个问题,并且也只有这两台电脑,其他人的,局域网内其他的,家里的电脑都没有问题.我一度怀疑是不是跟discuz.net/archiver....不能访问有关......
今天又分析了一天......终于,,终于,,,出现问题的这两台电脑,一台没事了,另一台却更严重了!
表现就是:只要登录,马上退出!
登录的时候,会提示登录成功,正在页面跳转中.....之后返回的页面就退出登录了....
具体原因就是uchome_auth这个cookies被删除了,(uchome是前缀)
我倒过来倒过去地分析了这两台出问题的电脑的cookies过程,登录过程的cookies是一样的.- Set-Cookie: uchome_auth=deleted; expires=Fri, 08-May-2009 07:30:26 GMT; path=/
- Set-Cookie: uchome_auth=4e9fX9%2BrN1OkfQyDq0zu1LR1SArJwJt5jM%2Bc02fu4GKmA8hAwl2BPdvTuMFYB6qEfPvWk9NoW4fhvcsfeD%2F19TAu2g; expires=Sat, 08-May-2010 12:30:27 GMT; path=/
- Set-Cookie: uchome_loginuser=XXXX; expires=Sun, 08-May-2011 07:30:27 GMT; path=/
- Set-Cookie: uchome__refer=deleted; expires=Fri, 08-May-2009 07:30:26 GMT; path=/
- Date: Sat, 08 May 2010 07:30:27 GMT
- Connection: close
复制代码 看上面,第一行,删除了uchome_auth这个cookies,删除过程为:
home\do.php中第一行:- include_once('./common.php');
复制代码 home\common.php第108行:checkauth()函数中会删除这个cookies.
第二行到第四行设置uchome_auth,uchome_loginuser,uchome__refer都是在do_login.php登录之后执行的:
110行左右:
[code] //清理在线session
insertsession($setarr);
//设置cookie
ssetcookie('auth', authcode("$setarr[password]\t$setarr[uid]", 'ENCODE'), 18000);//$cookietime);
ssetcookie('loginuser', $passport['username'], 31536000);
ssetcookie('_refer', '');
[code]
以上一切正常,
出问题的那台电脑,在/ucenter/avatar.php?uid=23&size=small这里uchome_auth这个cookies就不在了.
上面是正常的情况,下面是不正常的情况
我实在是找不出哪里删除了uchome_auth这个cookies了.........救命啊........ |