本帖最后由 晓芸 于 2016-12-22 17:38 编辑
UCenter初始密码修改后新旧密码都无法登录
试过下面这个方法以后我的问题解决了!
转自巅峰霸主网,原文链接http://www.dfbazhu.com/forum.php?mod=viewthread&tid=1037&extra=page=1
discuz论坛升级到X3.2版本,我自从升级了还没有进过UCenter!这个也算是够懒了,今天准备进入UCenter修改一下设置,结果发现创始人账号无法登录,起初我以为是我的UCenter创始人密码不对,的确我的创始人密码没有做备份,只是记载脑袋里面的,时间长了难免会忘记,于是通过官方发布的toos工具找回重置了创始人密码,很高兴地觉得可以顺利的进入后台了,结果还是不能啊,密码、验证码啥都是正确的,点击登录按钮页面刷新一下什么都没有了,就是不跳转,开始以为是我输入不对,又反复操作n多次,还是不行。搜索了一下网上的答案,遇到这个问题的人还真多,原来不止我一个人啊,按照官方的方法修改了文件并上传,这下我想应该可以了,可是还是不行啊,蛋疼的不行,不知道是哪里的问题。先附上官方的解决方法:编辑uc_server/model/admin.php该文件找到第22行 - $this->cookie_status = 0;
复制代码 改为 - $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码 改好了,不行!!!!!!!!!!!!!! 我本地测试系统是没有升级到最新补丁的,但是主程序是discuzX3.2,本地测试没有问题,并且我的本地环境压根就没有修改任何程序,我查看了本地的程序【uc_server/model/admin.php该文件】里面的第22行也就是官方说滴要修改的那一行是和修改后的一样,奇怪了,纳闷得很的时候,于是我用比较工具对比了一下服务器和本地环境的这两个文件,发现原来是有区别的,截图如下:
上图中左边是我本地的文件,右边是服务器上下载下来的源程序,按照上面的方法修改,自然我服务器上的第22行是不对的,但是我修改了依然不行。问题就在于还有其他行也要修改,本地的测试环境毛问题都没有,到了服务器上就死活都不行,所以上传本地的这个文件替换服务器上面的,结果问题解决了。 需要修改的地方有4处,如下: uc_server/model/admin.php该文件 1. 搜索 复制代码 替换为: 复制代码 2. 搜索 $this->cookie_status = 0; 替换为: - $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码 3. 搜索 $this->sid = $this->view->sid = $this->sid_decode($sid) ? $sid : ''; 替换为: - $this->view->sid = $this->sid_decode($sid) ? $sid : '';
复制代码 4. 搜索 $log = dhtmlspecialchars($this->user['username']."\t".$this->onlineip."\t".$this->time."\t$action\t$extra"); 替换为: - $log = htmlspecialchars($this->user['username']."\t".$this->onlineip."\t".$this->time."\t$action\t$extra");
复制代码 这样基本上是OK了哇,如果嫌麻烦,也可以下载整个admin.php直接替换,替换前先备份一下哈,UTF-8编码,GBK的童鞋请转码后再替换,下载地址: https://yunpan.cn/cRcAybKNbrg4C
(提取码:8797)
|