DISCUZ!X3.2 升级后UCENTER、UC_SERVER正确密码却无法登录后台的解决方法

很多站长在把自己的网站升级到discuz!x3.2最新版本后,出现了ucenter和uc_server后台无法登录的问题,有些站长以为是密码不对了,或者是php虚拟主机的问题。其实不是的,而是最新版本的discuz出现的BUG导致我们无法登录,其实也就是cookie导致的。

解决办法很简单,如下:
在/uc_server/model 中找到admin.php
找到代码:

function adminbase() {
parent::__construct();
this->cookie_status = 0;sid = this->cookie_status ? getgpc('sid', 'C') :rawurlencode(getgpc('sid', 'R'));this->sid = this->view->sid =this->sid_decode(sid) ?sid : '';

修改如下:

function adminbase() {
parent::__construct();
this->cookie_status = isset(_COOKIE['sid']) ? 1 : 0;
sid =this->cookie_status ? getgpc('sid', 'C') :rawurlencode(getgpc('sid', 'R'));
this->sid =this->view->sid = this->sid_decode(sid) ? $sid : '';

发表回复