Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[疑问] DV82->DZ61成功,现关于密码有4点疑问,管理员请进,高手请进

[复制链接]
Man1983 发表于 2008-11-28 11:47:28 | 显示全部楼层 |阅读模式
疑问一:
我早上看了下,只能32的转16的 ,16到32不可能转
所以这就必要要每个会员登陆一次,判断
md5(substr(md5($password),8,16).$user['salt']) 值得是否正确正确的话,我们就得到了明码,于是利用用这个明码再结合DZ的加密方式转换 md5(md5($password).$user['salt']) 保存进uc_members,之前DV-DZ转换的时候保存进数据库的32位置是md5(原动网MD5值.$user['salt'])
.不知道我的理解是不是对的,鉴于16位不能转32位的,我的愿望用程序让所有会员自己登陆一次也泡汤了,如果一个会员6个月不登陆,那这个会员的密码也就不给他转了,所以,从DV转过来的兄弟。6个月后咱就做一个真正的DZ人,不要再替换什么登陆处理文件了 哈哈。


疑问二:
PS:一个疑问,我新注册的会员,密码保存进 cdb_members 和 uc_members的值不一样,不知道cdb_members 又是怎么加密的??

我注册了会员 密码是123456 随机值 000828
uc_members 中的pass=7ed4088e8447930a140a01319886ebe6
cdb_members 中的pass=3991b19e876d8e7b4321a56432416b7a

疑问三:
请工程师帮我解答一下,另以下是我比较替换前后2个文件的区别,看到了登陆成功后,用明码重新加密成32位的过程中没有update cdb_members表 结合疑问二 是不是废气掉了cdb_members表了??
control/user.php 替换
                if(empty($user)) {
                        $status = -1;
                } elseif($user['password'] != md5(md5($password).$user['salt']) && $user['password'] != md5(substr(md5($password),8,16).$user['salt'])) {
                        $status = -2;
                } else {
                        if ($user['password'] == md5(substr(md5($password),8,16).$user['salt'])) {
                                $this->db->query("UPDATE ".UC_DBTABLEPRE."members SET password='".md5(md5($password).$user['salt'])."' WHERE username='$username'");
                        }
                        $status = $user['uid'];
                }
               
control/user.php 原配       
                if(empty($user)) {
                        $status = -1;
                } elseif($user['password'] != md5(md5($password).$user['salt'])) {
                        $status = -2;
                } else {
                        $status = $user['uid'];
                }


model/user.php 替换
                if(empty($user['username'])) {
                        return -1;
                } elseif($user['password'] != md5(md5($password).$user['salt'])) {
                        return -2;
                }
model/user.php 原配                       
                if(empty($user['username'])) {
                        return -1;
                } elseif($user['password'] != md5(md5($password).$user['salt']) && $user['password'] != md5(substr(md5($password),8,16).$user['salt'])) {
                        return -2;
                }
                if ($user['password'] == md5(substr(md5($password),8,16).$user['salt'])) {
                        $this->db->query("UPDATE ".UC_DBTABLEPRE."members SET password='".md5(md5($password).$user['salt'])."' WHERE username='$username'");
                }

疑问四:

UC UCH BBS 中的UC我知道是必须的 UCH我不安装可以吗 我现在装的是三个的套件 发现UCH的表太多了,能不装就不装了。
回复

使用道具 举报

桃子(小敏) 发表于 2008-11-28 14:53:54 | 显示全部楼层
疑问1
请按照官方的解决办法,转换后替换下登录文件,如果需要升级新的dz版本,官方会有相应的登录文件提供给用户的
疑问2
ucenter体制下,用户登录的主要验证是uc_members表,cdb_members无需管
疑问3
可以不装uch啊,您只需先安装ucenter,再安装discuz6.1即可
看到疑问2的解答,估计这个问题您也就明白了
疑问4
回复

使用道具 举报

 楼主| Man1983 发表于 2008-11-28 15:50:32 | 显示全部楼层
感谢桃子,这下就明了多了.
回复

使用道具 举报

桃子(小敏) 发表于 2008-11-28 16:01:44 | 显示全部楼层
:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-16 17:46 , Processed in 0.097746 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表