7

Drupal 6 データベースに約 100 人のユーザー (ユーザー名、メール、パスワード ハッシュ) を挿入するスクリプトを作成したいと考えています。

Drupal 6 が使用する PHP クラスについて読んだ後、これを実行できるかどうかわかりません。私の方法は、「Hello, x! Your new password is y」のようなメールをすべてのユーザーに送信し、ハッシュ化された「y」を Drupal のユーザー テーブルに挿入することでした。

Drupal が md5 を返すことは知っています。しかし、それは単に md5 の元のパスワードではなく、(salt やその他の方法を使用して) 非常に混同されたパスワードです。

Drupal が使用しているポータブル PHP パスワード ハッシュ フレームワークを調べましたが、コピーと貼り付けの方法だけでは機能しないと思います。

だから、私の質問は: 有効な Drupal 6 パスワード ハッシュを返し、それをユーザー テーブルに挿入する PHP 関数を作成できますか?

4

3 に答える 3

9

実際、Drupal 6 はソルトを使用してパスワードのハッシュを計算しません。その単なるパスワードのmd5

これは自分で試すことができます。パスワードを何かに設定します。

パスワードの md5 を計算します (便宜上、このリンクhttp://www.miraclesalad.com/webtools/md5.phpを使用できます)。

列のusersテーブルのデータベースに格納されているハッシュがまったく同じになることがわかりますpass

Drupal 6 のデフォルト インストールでのこの動作 (Drupal 7 では動作が変更されている可能性があります)。特別なモジュールがインストールされている場合にのみ、Drupal 6 の動作が異なります。

于 2010-10-11T11:00:03.117 に答える
4

プログラムでユーザーを作成する場合は、プレーンテキストのパスワードを自分で作成してから、user_save()関数を使用してユーザーをデータベースに挿入する必要があります。その関数はあなたのためにすべてをハッシュして保存します。

于 2010-10-08T16:45:48.357 に答える
2

既存のユーザーインポートモジュールは、ユーザーの一括インポートで機能するように見えます。これは、「パスワードをハッシュする方法」の質問には答えませんが、カスタム(おそらくエラーが発生しやすい)スクリプトの必要性を排除します。

于 2010-10-08T16:49:45.410 に答える