zoukankan      html  css  js  c++  java
  • ucenter通信失败和不能登录的解决

    对于ucenter真是让人不省心,修改一下url,就通信失败了。

    1、通信失败

    然后后来怎么也改不好了,后来一步一步打log,发现是uc_server和uc_client不一致。

    检查uc_server下data/cache/apps.php,检查里面的key,和config/config_ucenter.php里面的key。

    如果是自己添加的应用,有可能data/cache/apps.php里面的都没有,那么手工填写,内容如下

    $_CACHE['apps'] = array (
      id => //应用里的id
      array (
        'appid' => 'id',//应用里的id
        'type' => 'DISCUZX',
        'name' => 'Discuz! Board',
        'url' => 'url',//应用url
        'authkey' => 'key',//应用通信key
        'ip' => '',
        'viewprourl' => '',
        'apifilename' => 'uc.php',
        'charset' => '',
        'dbcharset' => '',
        'synlogin' => '1',
        'recvnote' => '1',
        'extra' => '',
        'tagtemplates' => '',
        'allowips' => '',
      ),
       
    );

    2、密码正确无法登录

    打开uc_server/model目录里的admin.php
    找到第22行的
    $this->cookie_status = 0;

    修改成
    $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;

    参考了此帖。这篇帖子也提到了其它方案,摘录如下:

    最近论坛的UCenter无法登录,闪退的解决办法(密码是正确的)
    在Discuz官方论坛寻找了无数的解决方法,总结有以下几种:
    1. 直接在Uc_server修改创始人密码
    改UC创始人密码。
    修改UC配置文件 /uc_server/data/config.inc.php
    对应两行换掉
     
    define('UC_FOUNDERPW', '636822edaa353665147896b9061edc4b');
    define('UC_FOUNDERSALT', 'p5j8K5');
    复制代码
    密码为 123654
    复制代码
    或修改成
    修改uc_serverdataconfig.inc.php文件解决了
    define('UC_FOUNDERPW', '047099adb883dc19616dae0ef2adc5b6');
    define('UC_FOUNDERSALT', '311254');
    复制代码
     
    创始人密码为123456789
    复制代码


    2. 登陆后台的Ucenter老提示验证码错误,或密码正确,但无法登录,如果连续试N次乃至10次以上,可能偶尔有一次能登陆成功,但一会后比如点击左边的菜单马上又提示要重新登陆,晕倒!
    <span style="line-height: 1.5;">根据目录找到文件: UCenter的 model/base.php</span>
    复制代码


    3. 删除缓存文件解决
    问题已解决,贴出来给同样有此问题的朋友借鉴啊。
    ucenter运行时会加载uc_server/data/cache下面的几个php缓存文件。
    目的是为了载入配置信息,这些缓存文件中的配置参数是从主配置中来的(uc里配置的),手动删除就会自动生成。
    如果以前在ucenter界面里配置的client端失效了(ip更改等)。但是缓存配置文件依然继承原来的,uc就会不断的按照老的配置请求client端。重复时间久了就504了。
    所以只需要修改apps.php文件。换成正确的配置项就可以登录了,别忘了在uc里面更新。
    复制代码

    4. 修改Ucenter密码及上传文件
     
    1、在UCenter/data/下找到config.inc.php,打开找到下面2行代码:
     
    define('UC_FOUNDERPW', '3858cdf66b0794bfd435af8c0c3e8712');
    define('UC_FOUNDERSALT', '939786');
     
    2、创建新的ucpass.php文件 把下面的代码COPY进去 保存
     
    <?php
    $ucfounderpw = '你要设置的密码';
    $ucsalt = rand(100000,999999);
    $ucfounderpw = md5(md5($ucfounderpw).$ucsalt);
    echo $ucfounderpw.'<br />'.$ucsalt;
    ?>
     
    3、将该PHP文件放到UCenter根目录下
    4、在浏览器里打开ucpass这个文件 会看到2行数字 分别替换第1步里的2行数字
    5、保存 覆盖原来的 搞定!
    复制代码


    5. 使用Tools 工具
       后台进入UCenter 用创始的密码老是错误
       我创始的密码改过 但是进不去
       密码能进后台 但是后台的UCenter却进不去 这是怎么回事
       如果我点管理员 在用创始的号进入就可以用
      UCenter 无法进入,第一次出现验证码错误,第二次出现密码错误,怎么操作都错误,使用tool修改也一样,偶尔人品爆发登录成功一次
    或使用tools工具软件修复下 试试 可以试下重传UC目录
      在插件中心下载了TOOLS这个工具  用 uctools工具找回密码
      X3.1  使用Tools Ucenter 工具,输入密码。始终显示:请稍等,程序正在登录中。uctools.php已上传至UC根目录。谢谢高手指点!

      解决办法:    http://www.discuz.net/thread-1877098-1-1.html
      使用方法:
    下载压缩包后,打开uctools.php文件,在密码设置区域设定tools的密码。然后把toosl.php文件上传到 UCenter 程序的根目录(保证配置文件的可写权限),在浏览器的地址栏中输入tools的访问地址,这样你就可以使用tools工具箱UCenter专用版了了。

    功能概括:
        * [ 检查或修复数据库 ]
        * [ 快速设置(SQL) ]
        * [ 恢复数据库备份 ]
        * [ 重置创始人密码 ]

    6. 修改admincp参数
      UCenter管理中心为什么登陆不上?密码正确的,就是没反应!然后我又乱输入密码那里提示创始人密码错误,
    输入正确密码的时候就是没反应,没提示错误!为什么啊?版主帮帮忙! 管理员帮忙看看啊,
    我上传DZ的时候论坛管理中心登不上的,

    这个问题已经困扰我一个月了     换浏览器   重装电脑系统   清浏览器缓存    重新上传DZ   都不行    请问有大哥能解决这个问题吗?

    后来我用FTP修改了   /config/config.php文
    件,把文件中的$_config['admincp']['checkip'] = 1;设置为 $_config['admincp']['checkip'] = 0;
              这样设置了之后   后台管理中心就能登进去了   UCenter管理中心是不是也要设置 那里 才可以呢

    7. 修改Model/base.php文件
      后台登录UC管理
    用户名  UCenter Administrator  跟密码输入后,进去了一下。点击一下(应用管理)就自动退出了。然后提示需要重复登录
    就这样一直重复登录着。。。。。。

       有高手知道这个是怎么回事吗? 不知道是不是启用了IP
      解决
    UCenter的 model/base.php
    查找:
    $this->onlineip = $match[0] ? $match[0] : 'unknown';
    在这代码之后插入一段代码:
    $isonlineIP = isset($_COOKIE['onlineipd']) && !empty($_COOKIE['onlineipd']);
    if($isonlineIP){
    $this->onlineip = $_COOKIE['onlineipd'];
    }else{
    setcookie("onlineipd", $this->onlineip, time()+3600, "/");
    }
    unset($isonlineIP);

  • 相关阅读:
    从原理上理解NodeJS的适用场景
    core 基本操作
    SQL Server 触发器
    Centos 7 Apache .netcore 做转发
    Windows Server 使用 WAMP 并配置 Https
    centos7 apache php git pull
    Visual StudioTools for Unity 使用技巧2
    如何实现Windows Phone代码与Unity相互通信(直接调用)
    关于NGUI与原生2D混用相互遮盖的问题心得
    关于NGUI制作图集在低内存设备上的注意事项
  • 原文地址:https://www.cnblogs.com/xdao/p/ucenter_login_sync_error.html
Copyright © 2011-2022 走看看