2016-07-06 8 views
1

私はログイン/パスワードセクションを持つウェブサイトを持っています。およそ500人のユーザーがいます。私はmysqlテーブルの中のすべてのログインとパスワードを作成して "users"と呼んでいます。別のmysqlテーブルからMybbデータベースにユーザをインポート

これで、独自のmysqlデータベース(mybb_users)を持つMybbフォーラムをインストールしました。 私は、人々がテーマで登録したいのではなく、彼らが私の通常のウェブサイトで使っていた以前のログイン/パスワードを使いたいと思っています。

私の質問は以下のとおりです。

1)私はmybbアプリケーションでCSVファイルからユーザーをインポートすることはできますか?
2)mybb_usersのデータベース構造は次のとおりです。ユーザ名、パスワード、塩loginkey

それがクリアテキストでのみログインとパスワードを(持っている私の「ユーザー」テーブルで異なる)

どのように私はパスワードを変換して作成することができますmybbで使用できるログイン・キー。

私は500人のユーザーを手動で作成する余裕がありません。
私は明らかに希望します。唯一のログイン名とパスワード を持っている私の「ユーザー」テーブル(平文で)で

それは異なっているあなたの助け

+0

テーブルが同じデータベースにある場合、「テーブル2(ユーザー、パス)を選択してユーザーを選択し、テーブル1から渡す」と入力できます。 –

+0

@RafaelShkembi Shkembi mybb管理インターフェイスでは、手動でユーザーを追加できます。私がそうすると、saltを選択して自動的にパスワードを暗号化し、ログインキーも使用します – gamliel

+0

テーブルは同じデータベースにありますか? –

答えて

0

してくれてありがとう

あなたのために働くだろうソリューション最初に保存されたパスワードはまったく暗号化されません:

コンテキストのお知らせ:

  • MyUserLoginテーブルのカスタムタイプ。
  • MyBBのログインテーブル。それをMyBBLoginと呼んでみましょう。
  • MyUserLoginのパスワードは、すべてで暗号化されていません。
  • MyBBLoginのパスワードはMD5 + Saltで暗号化されています。

簡単な解決策はさておき、CSV 1から、PHPスクリプトのこの種を作成するには、次のようになります。

  1. MyUserLoginテーブルからすべてのユーザーを選択します。それぞれについて、
  2. は、この機能を適用するユーザのパスワード($password_cleartextを)返さ:新しく暗号化されたパスワードを含む、MyBBLoginのフィールドを埋めるためにその後

    function generate_salt() { 
        return random_str(8); //picked from MyBB's source code 
    } 
    
    $passwordToStoreInMyBB = md5(md5($salt).md5($password_cleartext)); 
    
  3. あなただけのINSERTクエリを作成する必要があります($passwordToStoreInMyBBソルトキー($salt)。LoginKeyフィールドは特にログアウトメカニズムの間に、CSRF攻撃のいくつかの種類を防止するために、MyBBによりログイン時に発生したばかりの鍵であることを

注意。
自分で設定する必要はありません。
このキーの本質に関する詳細情報here

関連する問題