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

时间:2016-07-06 14:06:55

标签: php mysql mybb

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

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

我的问题是:

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

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

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

我无法负担手动创建500个用户 我希望我很清楚。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

  

我的“用户”表中只有登录名和密码不同   (以明文形式

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

提醒你的背景:

  • 一种自定义的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)。

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