web-dev-qa-db-ja.com

WooCommerceのデフォルトのパスワードセキュリティレベルを変更する

WooCommerce登録フォームの最小パスワード強度を変更しようとしていますが、多くのことができません。

パスワードの最小強度を修正し、ユーザーが7文字の長さで、内部に記号や大文字を必要としないパスワードを使用できるようにするソリューションを誰かに教えてもらえますか?

ありがとう。

6
Husnain Abbas

そのための唯一の既存のフック設定はwoocommerce_min_password_strengthフィルターフック。したがって、カスタムフック関数を設定してこの強度を下げることができます。 4つの可能な設定があります:

  • 3 =>強い(デフォルト)
  • 2=>中
  • 1=>弱い
  • 0 =>非常に弱い(何でも)。

そのコードは次のとおりです。

add_filter( 'woocommerce_min_password_strength', 'reduce_min_strength_password_requirement' );
function reduce_min_strength_password_requirement( $strength ) {
    // 3 => Strong (default) | 2 => Medium | 1 => Weak | 0 => Very Weak (anything).
    return 2; 
}

コードは、アクティブな子テーマ(またはテーマ)のfunction.phpファイル、または任意のプラグインファイルに含まれます。

このコードはテストされ、機能します。

他のすべてのソリューションは複雑で、実際の開発になります。

16
LoicTheAztec

上記の回答 by @LoicTheAztecは完全に機能し、非常に明確です。コメントに追加の提案やコードを入れるのが正しいかどうかわからないため、この回答を追加します(適切なStackOverflowプロトコルに従わない場合は申し訳ありませんが、その場合は誰かに知らせてください!)。

とにかく、パスワードの強度要件を変更した後でも、12文字などを要求する非常に厳格で役に立たないパスワードのヒントが表示されていたので、それを変更する方法を探しました。これが私が実行している2つの関数であり、それらは期待どおりに機能しています。

パスワードヒント関数については、 arjenlentz に感謝します。

// First, change the required password strength
add_filter( 'woocommerce_min_password_strength', 'reduce_min_strength_password_requirement' );
function reduce_min_strength_password_requirement( $strength ) {
    // 3 => Strong (default) | 2 => Medium | 1 => Weak | 0 => Very Weak (anything).
    return 2; 
}

// Second, change the wording of the password hint.
add_filter( 'password_hint', 'smarter_password_hint' );
function smarter_password_hint ( $hint ) {
    $hint = 'Hint: longer is stronger, and consider using a sequence of random words (ideally non-English).';
    return $hint;
}
3
codebird

参考までに、そのコードはパスワード要件を下げるために私には機能しませんでした。私は他のいくつかのコードを試しましたが、役に立ちませんでした。以下のコードを使用して、パスワード要件チェックを削除することにしました。

function iconic_remove_password_strength() {
    wp_dequeue_script( 'wc-password-strength-meter' );
}
add_action( 'wp_print_scripts', 'iconic_remove_password_strength', 10 );

ここから取得: https://iconicwp.com/blog/disable-password-strength-meter-woocommerce/

2
grantog

ここに良い説明があります: https://www.gm2dev.com/2017/06/woocommerce-custom-password-strength/

上記のコードスニペットをテーマ関数に追加します。

私自身は、@ grantogが言ったようにパスワード強度メーターを削除する必要がありました。

function iconic_remove_password_strength() {
    wp_dequeue_script( 'wc-password-strength-meter' );
}
add_action( 'wp_print_scripts', 'iconic_remove_password_strength', 10 );
0
Mike Aron