2016-08-25 11 views
1

に使用Wordpressの機能「wp_check_password」のuser_idのパラメータは何ですか。私はそれが私のデータベース内のuser_id列だと思っていましたが、ただいくつかの乱数(または文字列)に設定するだけで動作します。私は機能のためのワードプレスの書類をチェックし

重複した質問や既に回答している場合は申し訳ありません。

+0

@RonvanderHeijdenこれはwp_loginではなく、パスワードハッシュ関数です。 – Gant

答えて

1

wp-includes/pluggable.phpにこの機能が含まれています。 user_id引数が2度使用されます。パスワードが一致して入力した場合

if ($check && $user_id) { 
    // Rehash using new hash. 
    wp_set_password($password, $user_id); 
    $hash = wp_hash_password($password); 
} 

この作品は、ユーザーのパスワードを設定します。これは、ユーザーがログインしたときに入力されたパスワードを新しいメカニズムに移行するため、パスワードハッシュメカニズムを変更するプラグインをインストールする場合に便利です。

これは、たとえばroots wp-password-bcrypt pluginによって使用されます。

2行目は二回発生しますが、return文を使用して、両方の回:これは単にあなたがパスワードがちょうど必要な場合は、チェックしたことキャッチすることができます

return apply_filters('check_password', $check, $password, $hash, $user_id); 

、チェックの結果を変更します。

+0

ありがとうが、私は考えを得ることができません。パスワードが一致する場合、このパスワードを変更するポイントは何ですか?または、追加のプラグインがパスワードハッシュを変更した場合、パスワードはどのように一致しますか? –

+0

古いハッシュは引き続き動作しますが、プラグインの責任でそれらが確実に実行されます。 Bcryptハッシュには開始時にメタ情報が含まれていますが、他のタイプがどのように検出されているのか(長さ?)は考えられませんが、 – Gant

+0

もう1つの質問: '$ password'を' $ hash 'と '' userId = 1'(マッチしたもの)とし、 'userId = 2'というパラメータを指定した場合、' userId = 2'を '$ password'に追加します。 –

関連する問題