DZ 数据迁移问题

By agenge at 2016-06-01 • 0人收藏 • 492人看过

你好,林老大。


    请问目前有遇到这种需求吗?从DZ迁移过来,不一定是所有数据,只迁移必要的数据即可,例如部分帖子,用户等。

15 个回复 | 最后更新于 2016-06-15
2016-06-01   #1

一般来说只需这四个数据表:

假设你的论坛数据表前缀是bbs_。

bbs_common_members

bbs_forum_posts

bbs_forum_thread

版块表是哪个我忘了,版块迁移成标签。

由于两者使用的密码加密方式一样,所以可以直接迁移。

2016-06-01   #2

回复#1 @ivanilla :

加密方式是一样的? DZ的密码表好像没有加盐。。。

2016-06-01   #3

回复#2 @agenge :

有的。

2016-06-01   #4

回复#3 @ivanilla :

多谢,如果加密方式一样,那迁移相对就简单多了。

2016-06-01   #5

https://www.94cb.com/t/3141#Post13432

这人迁移了,有问题可以找找他。

2016-06-01   #6

回复#3 @ivanilla :

QQ截图20160601142150.jpg

2016-06-01   #7

并未看到 加盐字段。。。


2016-06-01   #8

已在pre_ucenter_members表找到。

2016-06-01   #9

回复#7 @agenge :

哦,不是完全一样,有区别:

DZ的uc_client/control/user.php:

$passwordmd5 = preg_match('/^\w{32}$/', $password) ? $password : md5($password);
if(empty($user)) {
	$status = -1;
} elseif($user['password'] != md5($passwordmd5.$user['salt'])) {
	$status = -2;
} elseif($checkques && $user['secques'] != $_ENV['user']->quescrypt($questionid, $answer)) {
	$status = -3;
} else {
	$status = $user['uid'];
}

他的密码加密方式是先MD5密码一次,然后把结果加上salt再MD5一次。

CF的login.php:

if (!HashEquals($DBUser['Password'], md5($Password . $DBUser['Salt']))) {
	$Error = $Lang['Password_Error'];

CF的register.php:

$NewUserPassword = md5($Password . $NewUserSalt);

他的密码加密方式是密码加上salt MD5一次。

但是因为有人迁移成功,说明还是有办法解决的。

2016-06-01   #10

回复#8 @agenge :

你看我楼上的代码就知道怎样解决加密方式有点差异的问题。

像DZ那样先MD5 密码一次然后加salt再MD5一次就行了。

2016-06-01   #11

回复#9 @ivanilla :

这就需要改CF的代码才能解决,否则密码会不对。  但是,如果改CF的代码,这为以后的升级埋下一些隐患。

2016-06-01   #12

回复#11 @agenge :

直接找林先生啊。

2016-06-01   #13

回复#10 @ivanilla :

你搞错了,CF和Discuz! 的密码校验方式,是完全一样的。

2016-06-14   #14

竟然不能用手机复制贴子内容 巨bug 还有自动生成的话题太多 根本不适用 用户会找不到自己喜欢的内容

2016-06-15   #15

回复 #14 @airoc :

不用找,自己手打啊。

登录后方可回帖

登 录
信息栏
购买PHP虚拟主机 / VPS

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.0.1
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

Loading...