同步登录失效的一个原因

2016-07-07 15:04 来源:www.chinab4c.com 作者:ecshop专家

客户有两台LINUX服务器 A服务器是bbs ucenter B服务器是ecshop uchome ,当时整个项目我是通过ucenter实现整个系统的会员共享,同步登录 ,事件共享,通知共享。正常运行,早上客户打电话不管是ecshop还是bbs都不能登录。奇怪不是正常怎么就不可以登录呢?我登录ucenter 查看应用通信正常 查看会员都是好的,那这是为什么呢 根据一个提示错误 我找到了ucenter一个文件中函数
ucenter/mode/base.php 函数是:
  1. function init_input($getagent = '') {
  2. $input = getgpc('input', 'R');
  3. if($input) {
  4. $input = $this->authcode($input, 'DECODE', $this->app['authkey']);
  5. parse_str($input, $this->input);
  6. $this->input = daddslashes($this->input, 1, TRUE);
  7. $agent = $getagent ? $getagent : $this->input['agent'];

  8. if(($getagent && $getagent != $this->input['agent']) || (!$getagent && md5($_SERVER['HTTP_USER_AGENT']) != $agent)) {
  9. exit('Access denied for agent changed');
  10. } elseif($this->time - $this->input('time') > 3600) {
  11. exit('Authorization has expired');
  12. }
  13. }
  14. if(empty($this->input)) {
  15. exit('Invalid input');
  16. }
  17. }
复制代码


不难发现 服务器之间的同步还有一个条件是 俩台服务器的系统时间不能相差3600以上。ok 修改其中一台服务器时间 搞定 。
查看linux时间命令 date 修改linux时间命令 date -s 2009-11-22 顺便补一下linux知识。

回答:
虽然没遇到过支持楼主共享!

同志们看贴要顶贴

没法帮你解决
帮你顶下 也算给你帮个忙

谢谢齐老师,我说在本地用的时候一切正常,传到公网的时候就出现问题了...
PS:EC程序在美国,BBS有国内了

谢谢齐老师,我说在本地用的时候一切正常,传到公网的时候就出现问题了...
PS:EC程序在美国,BBS有国内了
vhing 发表于 2009-12-7 11:39

这不是时间明显不一样的了

5# vhing 真牛。时间不一样吧。

嗯,是时间的问题,刚开始不知道怎么解决了,所以把俩程序都扔对面去了,一会再用您的方法试试看.

太厉害了,齐老师的又一强帖,谢谢

齐老师,支持你..