WordPressでユーザーログインを1台のデバイスに制限する方法

人々はよく友人とNetflixのログイン情報を共有します。パスワード共有が手に負えなくなるのを防ぐために、オンラインサービスは現在、一度に1つのアカウントを使用できるデバイスの数を制限し始めています。

私たちの読者の多くはメンバーシップウェブサイトを運営しており、オンラインコースを提供しています。彼らは、ログイン情報の共有がビジネスの収入源の損失につながるため、ログイン情報の共有についても同様に懸念していると述べています。そのため、同様のログイン制限を設定したいと考えています。

この記事では、WordPressウェブサイトで各ユーザーのログインを1つのデバイスにのみ制限する方法を説明します。この記事の終わりまでには、コンテンツを保護し、支払い済みのメンバーのみがアクセスできるようにする方法がわかり、オンラインビジネスを公正かつ収益性の高いものに保つのに役立ちます。

WordPressでユーザーログインを1台のデバイスに制限する方法

WordPress でユーザーログインを 1 台のデバイスに制限する理由

ストリーミングサービスは、ユーザーがログイン認証情報を共有するという課題に直面しています。2023年、Netflixは世界中で約1億世帯がパスワードを共有していると報告しました。これは膨大な数です!

多くのWordPressサイト、特にメンバーシップサイトやeラーニングサイトでは、同じ問題が発生します。デフォルトでは、WordPressユーザーは無制限のデバイスやブラウザから同時にログインできます。

この慣行はユーザーには無害に見えますが、ウェブサイトの収益とユーザーエクスペリエンスに大きな影響を与える可能性があります。たとえば、次のようになります。

  • メンバーシップサイトは、支払う人に特別なコンテンツを提供します。ユーザーがログイン情報を共有すると、メンバーシップを購入する人が少なくなります。これは、サイトオーナーにとって収入が減ることを意味します。
  • 学生がオンライン学習のログイン情報を共有すると、他のユーザーはコースを購入する必要がなくなります。さらに、個別のアドバイスを提供したり、誰がコースを完了したかを知ることが難しくなります。

ユーザーログインを1つのデバイスに制限すると、実際のユーザーが何人いるかを知り、より多くのお金を稼ぎ、コンテンツやサービスの価値を維持することができます。それに加えて、すべての有料ユーザーに公平な体験を提供し、ウェブサイトをより安全に保つことができます。

ログインを制限するのは、ユーザーを信頼していないからではありません。ウェブサイトを公平に保ち、継続的に稼働できるようにするためです。これは、ウェブサイトの所有者と正直なユーザーの両方に役立ちます。

WordPressでユーザーログインを1台のデバイスに制限する(簡単)

まず、無料のLoggedin – Limit Active Loginsプラグインをインストールして有効化する必要があります。WordPressプラグインのインストール方法に関するガイドで、ステップバイステップのヘルプを見つけることができます。

有効化すると、プラグインは自動的に機能し始め、各ユーザーを3つのアクティブなログインに制限します。

設定によっては、この制限に達すると、ユーザーは新しいデバイスでログインできなくなる場合があります。その場合は、他のデバイスのいずれかからログアウトするまで待つ必要があります。詳細は以下をご覧ください。

このユーザーのログイン制限に達しました

注意: WordPressにログインした後、ユーザーは通常、Webブラウザを閉じてもログインしたままになります。画面右上にある「Howdy」メニューを使用して、手動でログアウトする必要があります。

プラグインを設定するには、WordPressダッシュボードの設定 » 一般にアクセスし、「ログイン設定」セクションまでスクロールダウンしてください。

ここで、「最大アクティブログイン数」フィールドの数値を変更することで、異なるログイン数を許可できます。

Loggedinプラグインの設定

「ログインロジック」設定は、ユーザーがアクティブなログイン数の上限に達した場合に何が起こるかを決定します。

  • 許可:新しいデバイスでログインできますが、他のすべてのデバイスからは自動的にログアウトされます。
  • ブロック: 他のログインセッションが期限切れになるまで、新しいデバイスでログインできません。

したがって、ユーザーログインを1つのデバイスにのみ制限したい場合は、「最大アクティブログイン数」を1に、「ログインロジック」をブロックに設定する必要があります。

または、一度に1つのデバイスにのみログインしている限り、どのデバイスを使用しても構わない場合は、「最大アクティブログイン」を1に、「ログインロジック」を許可に設定する必要があります。

設定を保存するには、「変更を保存」ボタンをクリックすることを忘れないでください。

プラグインを使用すると、単一のユーザーをすべてのデバイスから強制ログアウトさせることもできます。ユーザーIDを入力して、「強制ログアウト」ボタンをクリックするだけです。

WordPressでの投稿、カテゴリ、タグ、コメント、またはユーザーIDの検索方法に関するガイドで、ユーザーIDの検索方法を学ぶことができます。WordPressでの投稿、カテゴリ、タグ、コメント、またはユーザーIDの検索方法

特定のユーザーまたはロールのログイン制限をバイパスする(上級者向け)

特定のユーザーまたはユーザーロールに対して、これらのログイン制限をバイパスできます。

例えば、サイトの管理者やエディターが誤ってロックアウトされないようにしたい場合があります。または、複数の場所で異なるコンピューターで作業する重要なチームメンバーがいる場合もあります。

ただし、これを行うには、WordPress テーマの functions.php ファイルにカスタムコードスニペットを追加する必要があります。わずかな間違いでも WordPress サイトが破損し、アクセスできなくなる可能性があるため、WordPress にカスタムコードを簡単に(サイトを壊さずに)追加する方法に関するガイドをご覧ください。

コードスニペットを追加する最も安全な方法であり、functions.php ファイルを手動で編集する必要がないため、WPCode の使用をお勧めします。

特定のユーザーのログイン制限をバイパスする

WordPressダッシュボードで、 WPCodeの無料バージョンをインストールして有効化し、次にコードスニペット » + スニペットを追加に移動してください。

次に、「カスタムコードを追加(新規スニペット)」のエントリにマウスカーソルを合わせ、表示される「スニペットを使用」ボタンをクリックします。

WPCode で新しいスニペットを追加する

画面下部にポップアップが表示され、スニペットのコードタイプを選択するように求められます。

「PHPスニペット」オプションをクリックする必要があります。

WPCodeでPHPスニペットオプションを選択

これによりカスタムスニペット作成ページが開かれ、必要なコードを追加できます。スニペットのタイトルとして、「特定のユーザーのログイン制限をバイパスする」などを追加することから始めることができます。

その後、以下のコードスニペットをコピーして、「コードプレビュー」ペインに貼り付けます。

function loggedin_bypass_users( $bypass, $user_id ) {

    // Enter the user IDs to bypass.
    $allowed_users = array( 1, 2, 3, 4, 5 );

    return in_array( $user_id, $allowed_users );
}

add_filter( 'loggedin_bypass', 'loggedin_bypass_users', 10, 2 );

次に、$allowed_users = array で始まる行を見てください。制限を回避したい特定のユーザーのユーザーIDで、「1, 2, 3, 4, 5」を置き換える必要があります。ユーザーIDはいくつでも追加でき、カンマで区切る必要があります。

ユーザーIDの見つけ方は、WordPressで投稿、カテゴリ、タグ、コメント、またはユーザーIDを見つける方法のガイドで学習できます。

最後に、スニペットを「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックして設定を保存する必要があります。

特定のユーザーがログイン制限をバイパスするコードスニペット

特定のロールに対するログイン制限のバイパス

特定のロールに対するログイン制限をバイパスするコードスニペットを追加するには、同じ手順に従うことができます。

新しいコードスニペットを「特定のロールのログイン制限をバイパスする」という名前で作成し、次のコードスニペットを「コードプレビュー」ペインに貼り付けるだけです。

function loggedin_bypass_roles( $prevent, $user_id ) {

    // Array of roles to bypass.
    $allowed_roles = array( 'administrator', 'editor' );

    $user = get_user_by( 'id', $user_id );

    $roles = ! empty( $user->roles ) ? $user->roles : array();

    return ! empty( array_intersect( $roles, $allowed_roles ) );
}

add_filter( 'loggedin_bypass', 'loggedin_bypass_roles', 10, 2 );

このスニペットは、「administrator」および「editor」ロールの制限をバイパスします。「author」などの他のロールも、単一引用符で囲み、カンマで区切って追加できます。

完了したら、スニペットを「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックしてください。

特定のロールがログイン制限をバイパスするためのコードスニペット

このチュートリアルで、WordPressでユーザーログインを1つのデバイスに制限する方法を学べたことを願っています。また、WordPressの会員サイトを作成するための究極のガイドや、専門家が選んだ最高のWordPress LMSプラグインもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

4 CommentsLeave a Reply

  1. 「特定のロールに対するログイン制限のバイパス」セクションのサンプルコードにエラーがあることを指摘しておきます。return行は次のようになっています。

    return ! empty( array_intersect( $roles, $whitelist )

    ここでの変数 $whitelist は、$allowed_roles であるべきです。これはコードの早い段階で宣言されています。この変更なしにコピー&ペーストすると、ログイン時にサイトエラーが発生します。

    • それに気づいていただきありがとうございます。正しいコードで記事を更新します!

      管理者

  2. これは、メンバーシップベースのウェブサイトにとって非常に必要とされている機能です。
    多くのNetflixサブスクリプションが認証情報を他者と共有し、同時にデータを消費しているのを見てきました。
    しかし最近、この技術を使用して、一度に1つのデバイスのみログインを許可し、他のすべてのユーザーをログアウトさせるようになりました。
    これは、ビジネスを成長させるための最良の方法であり、特にコースウェブサイトでは、学生のパフォーマンスを追跡し、学習体験を向上させるのに役立ちます。
    ログイン中のユーザーのデバイスを制限するためのこの詳細なガイドをありがとうございます。

  3. 私はMemberPressとメンバーシップサイトを持っています。これは本当に良い機能で、誰かがメンバーシップを他人に共有して悪用する可能性があるとは思いもよりませんでした。対処する価値は間違いなくありますので、まずは簡単なオプションを試してみます。迅速かつ簡単そうです。デバイス数を調整できるのも素晴らしいです。それは本当に良いことです。この便利なヒントに感謝します。これは間違いなく役に立つでしょう。

返信を残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。