将用户从另一个 mysql 用户表导入 Mybb 数据库


Import users to Mybb database from another mysql table of users

我有一个带有登录名/密码部分的网站。 它有大约 500 个用户。我已经在mysql表中为所有这些创建了登录名和密码,我们称之为"用户"。

现在我刚刚安装了一个Mybb论坛,它有自己的mysql数据库(mybb_users)。我不希望人们按主题自己注册,我只是希望他们使用他们在我的常规网站上使用的以前的登录名/密码。

我的问题是:

1)我可以从 mybb 应用程序中的 csv 文件导入用户吗?
2)mybb_users中的数据库结构为:用户名密码盐登录密钥

在我的"用户"表中有所不同,只有登录名和密码(明文)

如何转换密码并创建可在 mybb 中使用的登录密钥。

我负担不起手动创建 500 个用户的费用。
我希望我说清楚。

感谢您的帮助

在我的"用户"表中有所不同,只有登录名和密码 (明文)

一个可行的解决方案,因为您最初存储的密码根本没有加密:

提醒您的上下文:

  • 一种自定义MyUserLogin表。
  • MyBB 的登录表。让我们称之为MyBBLogin.
  • MyUserLogin的密码根本没有加密
  • MyBBLogin的密码是用MD5 + Salt加密的。

除了CSV之外,一个简单的解决方案是创建这种php脚本:

  1. 从表中选择所有用户MyUserLogin
  2. 对于每个返回用户的密码 ( $password_cleartext ),应用此函数:

    function generate_salt() {
        return random_str(8);  //picked from MyBB's source code
    }
    $passwordToStoreInMyBB = md5(md5($salt).md5($password_cleartext));
    
  3. 然后,您只需进行插入查询即可填充MyBBLogin的字段,涉及新加密的密码($passwordToStoreInMyBB)和盐密钥($salt)。

请注意,LoginKey字段只是MyBB在登录时生成的密钥,以防止某些类型的CSRF攻击,特别是在注销机制期间。
您不必自己填充它。
有关此密钥本质的更多信息 此处 .