2017-04-12 1 views
0

私はワードプレスに約900人のユーザーを持っています。これらのユーザーデータをDjangoを使用する新しいプラットフォームにエクスポートしています。Wordpressユーザーパスワードデータをプレーンテキストとして/ WordpressユーザーパスワードをDjangoにエクスポート

私の質問は、これらのユーザーのパスワードをプレーンテキストとしてエクスポートするにはどうすればいいですか?私はそれができない場合、私は新しいデータベースの "old_password"フィールドに保存したかったのですが、old_passwordとテキストを "一致させる"方法を知りたいですか?私の計画は、ユーザーのログイン時に、私は同じ電子メールとハッシュされたパスワードを持つユーザーを見つけようとしますが、私はどのタイプのハッシュ関数Wordpressが使用したのか、Python Djangoでその関数に相当するのか分かりません。

+1

あなたのプレーンテキストパスワードにアクセスできないことを本当に願っています...そして、ワードプレスのハッシュアルゴリズムを見つけることは、短いGoogle検索よりも労力を要しません。 –

+1

[WordPressで使用するハッシュの種類は?](http://stackoverflow.com/questions/1045988/what-type-of-hash-does-wordpress-use) –

+0

'algorithm $ rounds $ hash $ salt' – jonrsharpe

答えて

0

使用このライブラリ、古いWordPressユーザーが新しいDjangoのサイト

に自分と同じ&古いパスワードを使用できるように https://github.com/jmoswalt/wp-to-django-users

は基本的にあなたが追加し、再ハッシュする能力古いワードプレスパスワードジャンゴ

PASSWORD_HASHERS = (
'django.contrib.auth.hashers.PBKDF2PasswordHasher', 
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', 
'django.contrib.auth.hashers.BCryptPasswordHasher', 
'django.contrib.auth.hashers.SHA1PasswordHasher', 
'django.contrib.auth.hashers.MD5PasswordHasher', 
'django.contrib.auth.hashers.CryptPasswordHasher', 
'hashers_passlib.phpass', 
) 

再度ハッシュパスワード、あなたが行われています。あなたのDjangoプロジェクトのためのあなたのsettings.pyファイル内

は、以下を追加します。

from django.contrib.auth.hashers import get_hasher 
hasher = get_hasher('phpass') 
user.password = hasher.from_orig(user.password) 
1

最新のパスワードコントロールは、プレーンテキストの決定論的計算を不可能にするよう明示的に設計されています。したがって、それを判断する唯一の方法は、「ブルートフォース」攻撃(正確にハッシュされるまですべての可能なパスワードをハッシュしようとする)またはrainbow tablesのようなより洗練されたテクニックで、計算時間を短縮しますが、ストレージ。

WordPressのパスワードセキュリティに関する情報はthis articleです。this articleには、Pythonに翻訳して再利用する可能性のあるPHPコードが含まれています。

新しいサイトへの最初のログイン時にユーザーの既存のパスワードをold_passwordに対して検証することが最も簡単な方法のように聞こえますが、パスワードを変更するためには強制的に(特定のページにリダイレクトして)パスワードを変更してくださいこれが完了したらold_passwordフィールドをクリアします。

+1

問題は、" old_password "フィールドが空です。それはワードプレスのハッシュパスワードで。ユーザーがログインページにデータを入力したとき。私は電子メールをチェックして、old_passwordを使ってパスワードをハッシュします(もしそのユーザーが空でないold_passwordフィールドを持っていれば)。 –

+0

申し訳ありませんが、エクスポートに古いパスワードのハッシュが含まれていなかったことに気付きませんでした。これがなければ、WordPressサイト内にページを作成すること以外は、新しいサイトの「パスワードをリセット」ページへのリンクを持つ、ログインしているユーザーだけが利用できるページを作成する以外には、あまりできないようです。新しいサイトが移行しようとしているユーザーを特定できるように、何らかの形式の識別子を含める必要があるため、新しいサイトがリンクが本物であることを確認できる検証可能なハッシュを含めてリンクを保護する必要があります。 – holdenweb

+1

私はまずWordPressでphpmyadminでパスワードを変更できるので、まずPHPMyAdminでMD5を使用する方法を見つけようとします。 –

関連する問題