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

公開: 2024-11-28
how to restrict user login to one device in wordpress

WordPress でユーザーのログインを 1 つのデバイスに制限したいですか?

SaaS、メンバーシップ、オンライン コース、サブスクリプション サイトの所有者が同意できる問題の 1 つは、アカウントの共有によって多額の収益が失われるということです。多くのユーザーが自分のパスワードとアカウントを他人に教えており、収益の可能性が減少しています。

たとえば、Netflix はアカウント共有を減らすために世界的な取り締まりを行い、1 億以上の世帯に影響が及んだと述べています。これにより、数十億ドルの収益が失われ、サブスクリプション サービスの違法使用が発生しました。

IsItWP では、WordPress プラグインやソフトウェアを作成している多くの姉妹会社でも同様の問題を確認しています。パスワードとアカウントの共有を制御することがいかに難しいかがわかりました。

WordPress でのアカウント共有を制限することは、この問題を阻止する効果的な解決策であることが証明されています。ユーザーを1 つのデバイス上の 1 つのアクティブなセッションに制限することで、不正アクセスを防止し、資格情報の共有を阻止し、ユーザーの行動をより適切に制御できるようになりました。

この記事では、1 ユーザー 1 デバイスを保証するために使用する方法を段階的に説明します。あなたのビジネスに最適なものを選択できるように、さまざまなテクニックを紹介します。

ユーザーのログインを 1 つのデバイスに制限することの重要性

前述したように、単一デバイスのログインはアカウントの共有を減らすのに役立ちます。しかし、それ以上のことができます。まず、サイトにアクセスできるユーザーと場所をより詳細に制御できるため、サイトのセキュリティを向上させることができます。

同じユーザーが複数のデバイスを持っている場合でも、新しいデバイスにログインすると、前のデバイスから自動的にログアウトされます。その結果、このシステムは、常に 1 デバイスのログイン制限を適用するのに役立ちます。

ユーザーのログインを 1 つのデバイスに制限するその他の理由は次のとおりです。

  • コンテンツ保護:プレミアム コンテンツへの排他的アクセスを確保し、共有ログインによる収益損失を防ぎます。
  • 正確なユーザー指標:分析と意思決定にとって重要な、実際のユーザー エンゲージメントとトラフィックに関する信頼性の高い洞察を提供します。
  • ユーザー エクスペリエンスの向上:複数のセッションがアクティブな場合のログインの競合が軽減され、正規のユーザーがスムーズにアクセスできるようになります。
  • 法的コンプライアンス:ユーザーがシングルユーザー アクセスを必要とするライセンス契約またはサブスクリプション条件を遵守できるようにし、潜在的な法的問題を回避します。
  • 負荷管理: 1 つのアカウントから同時に実行される接続を制限することでサーバーの負担を軽減し、サイトのパフォーマンスと安定性を向上させます。
  • 不正防止:共有資格情報を悪用する悪意のある試みをブロックし、不正行為のリスクを軽減します。
    管理者の制御の向上:ユーザーの動作とセッション管理をより詳細に制御できるようになり、サイト ポリシーをより適切に適用できるようになります。

ご覧のとおり、ユーザーのログイン セッションを 1 つのデバイスに制限すると、多くの利点があります。ただし、すべてのビジネスには異なるモデルがあり、ある企業で機能するものが別のビジネスでは機能しない可能性があります。したがって、自分に合った方法を確実に見つけるために、ユーザーごとに 1 セッションのポリシーを適用する 2 つの方法を確認してください。

  • Loggedin – Limit Active Logins プラグインを使用する (無料でシンプル)
    • WPCodeを使用する(無料ですが高度な方法)

      そうは言っても、WordPress Web サイト上で単一のアクティブなセッションを確保するためのすべての方法を説明しましょう。

      Loggedin – Limit Active Logins プラグインを使用する (無料でシンプル)

      Loggedin – Limit Active Logins プラグインは、ユーザーのログインを 1 つのデバイスに制限することを自動化する無料で簡単な方法を探している場合に最適なソリューションです。

      このログイン制限プラグインを使用すると、各ユーザーのアクティブなログインの最大数を設定できます。また、ログイン制限に達すると新しいログインがブロックされ、追加の人は強制的にログアウトされます。

      ステップ 1: Loggedin のインストール – アクティブなログインを制限する

      前述したように、Loggedin – Limit Active Logins は無料のプラグインです。その結果、WordPress ダッシュボードで[すべてのプラグイン] » [新しいプラグインの追加]に移動してアクセスできるようになります。この後、検索バーを使用して、WordPress プラグイン リポジトリからツールを見つけます。

      loggedin installation

      次に、他のプラグインと同様にインストールして有効化します。問題が発生した場合は、プラグインのインストール方法に関するこの記事を確認してください。

      ステップ 2: ログインを設定する – アクティブなログインを制限する

      次に、設定 » 一般に移動し、「ログイン設定」までスクロールします。

      まず、このデバイスベースのユーザー ログイン プラグインでは、デフォルトでアクティブなログインの最大数が 3 に設定されていることがわかります。この数はサイトに合わせてカスタマイズできます。その結果、他のブラウザが閉じている場合でも、設定された回数を超えるログイン試行は自動的に拒否されます。

      ただし、ユーザー エクスペリエンスをさらにカスタマイズするには、 [ログイン ロジック]に移動して、2 つのチェックボックス オプションを選択します。

      • 「許可」を選択すると、プラグインは古いセッションを停止して、設定された制限を守り、新しいログイン用のスペースを作成します。
      • 「ブロック」を選択すると、現在のセッションが期限切れになるまで、プラグインは新しいログイン試行を拒否します。

      これに加えて、「強制ログアウト」機能を使用して、WordPress サイトにログインしたユーザーを手動で制御できます。ユーザー ID を入力すると、ユーザーをすべてのデバイスから強制的にログアウトできます。これは、サイトのセキュリティを向上させ、ユーザー アクセスを管理するための優れた方法です。

      loggedin settings

      WordPress はログイン試行の規制とセッションの追跡をキャッシュに依存しているため、このプラグインを使用すると「キャッシュ レベル」を設定できます。したがって、「Loggedin – Limit Active Logins」では、選択できる 4 つのキャッシュ レベル オプションが提供されます。

      • 通常:このモードは、標準的な方法でセッション データをキャッシュし、パフォーマンスと信頼性のバランスをとります。高度なキャッシュ メカニズムを持たないほとんどのサイトでうまく機能します。
      • アセットのみ:キャッシュを JavaScript や CSS などの静的アセットに制限し、動的なログイン セッション管理の干渉を最小限に抑えます。このモードは、動的なコンテンツに依存する環境を管理する場合に役立ちます。
      • アドバンスト:セッションをより効率的に処理するために、最適化されたキャッシュ システムが使用されます。これは、プラグインがオブジェクト キャッシュなどのより複雑なキャッシュ レイヤーと対話できるようにするため、トラフィックの多いサイトに最適です。
      • オフ:プラグインのキャッシュを完全に無効にし、リクエストごとにデータベースまたはセッション ストレージを直接チェックするように強制します。このモードでは正確なセッション追跡が保証されますが、パフォーマンスが低下する可能性があります。
      loggedin cache level

      完了したら、ページの下部にある [保存] をクリックすると、ユーザーのログイン セッションを 1 つのデバイスに簡単に制限できます。

      loggedin blocked login example

      ユーザーによるアカウントの共有を制限するこの方法は、迅速かつ簡単です。ただし、カスタマイズ オプションが限られているため、大規模なチームやユーザー ベースでは効率が低下する可能性があります。高度なカスタマイズ オプションが必要な場合は、方法 2 をお勧めします。

      WPCodeを使用する(無料ですが高度な方法)

      上で見たように、Loggedin – Limit Active Logins は、すべてのユーザーの同時ログインを制限することのみを可能にするシンプルなプラグインです。しかし、このログイン プロトコルにいくつかの例外を設けたい場合はどうすればよいでしょうか?

      サイトをより適切に管理できるように、自分自身、チーム メンバー、または特定のユーザーがこのログイン制限を回避できるようにしたい場合はどうすればよいでしょうか?

      これは、複数のチーム メンバーが 1 つのアカウントにアクセスする必要がある場合に役立ちます。たとえば、特にステージング環境や開発環境で、機能をテストしたり、エラーのトラブルシューティングを行う必要がある場合があります。

      同時に、複数のユーザーが 1 つのアカウントを共有できるようにすると、リソースをより適切に管理できるようになります。

      このため、WPCode をお勧めします。

      wpcode homepage

      WPCode は、最高の WordPress コード スニペット プラグインです。ドラッグ アンド ドロップ インターフェイスと大規模なスニペット ライブラリが付属しており、開発者の経験がなくてもサイトにコードを挿入できます。

      スマート条件付きロジック機能があり、ログインしているメンバー、特定の URL などの特定の条件に一致する場合にのみ、サイトにコード スニペットを読み込むことができます。

      最も重要なことは、手動で追加したコード スニペットがすべてチェックされ、それらが完全に機能し、サイトが破壊されないことを確認することです。ログイン回避コードを手動で追加するので、この機能は非常に便利です。

      それを念頭に置いて、このメソッドを使用するには、基本的なコードの経験が必要になります。

      ステップ 1: WPCode をインストールする

      WPCode はプレミアム バージョンを提供していますが、無料バージョンでもこのコードの追加に役立ちます。 WPCode Lite を入手するには、WordPress プラグイン リポジトリに移動して検索します。

      wpcode free install

      インストールしてアクティブ化したら、 「コード スニペット » + スニペットの追加」に進みます。

      これにより、130 を超えるコードが事前に追加されたスニペット ライブラリにリダイレクトされます。ここで、「カスタム コードの追加 (新しいスニペット)」を選択して、コード タイプのポップアップ ウィンドウを開きます。

      wpcode code snippet templates

      ステップ 2: PHP スニペットを手動で追加する

      次に、このウィンドウで PHP スニペットを選択して、ドラッグ アンド ドロップ インターフェイスを開きます。

      wpcode select code type

      まず、コードを簡単に識別してサイトの他の領域で再利用できるように、スニペットのタイトルを入力します。次に、WPCode スニペット領域に次のコードを貼り付けます。

      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"で始まるコード行 4 に進み、数字をログイン プロトコルをバイパスする実際のユーザー IDに置き換えます。数値の例のように、各ユーザー ID をカンマで区切ることを忘れないでください。

      wpcode bypass login restrictions certain users

      ただし、特定のユーザー ID を使用すると、特に大規模なチームの場合、コードが長くなる可能性があります。その結果、サイトを簡単に破壊してしまう可能性があります。

      これを回避するには、代わりにロールを使用します。

      これを行うには、以下のコードをコピーして、WPCode スニペット領域に貼り付けます。

      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, $whitelist ) );
      }
       
      add_filter( 'loggedin_bypass', 'loggedin_bypass_roles', 10, 2 );
      

      次に、もう一度、 "$allowed_roles = array"で始まる 4 行目に進み、プレースホルダー ロール「administrator」と「editor」を取得します。この行のテキストを、サイトに適用される関連サイト ロールに置き換えることができます。ロールをカンマで区切って、各ロールを一重引用符 (「ロールの例」) で囲むことを忘れないでください。

      wpcode bypass login restrictions certain roles

      ステップ 3: スニペット コードを公開する

      完了したら、WPCode スニペット領域の下に移動して、 [挿入]タブを見つけます。

      ここで、「挿入メソッド」に移動し、自動挿入またはショートコードを使用してコードを挿入できます。次に、「場所」ドロップダウンを使用して、スニペットが表示される場所を WPCode に指示します。

      wpcode insert method

      最後に、[デバイス タイプ] に移動し、スニペットを [任意のデバイス]、[デスクトップのみ]、または [モバイルのみ] に表示するかを選択します。

      wpcode device type

      ログイン制限を回避するコードに満足したら、「スニペットを保存」をクリックし、トグル ボタンを使用してページ上部のコードを有効にします。

      wpcode save activate code snippet

      それでおしまい!ログインを 1 つのデバイスに制限し、特定のユーザーがこのプロトコルをバイパスできるようになりました。他にご質問がある場合は、以下のよくある質問をご覧ください。

      FAQ: WordPress でアカウントの共有を制限する方法

      1 台のデバイスのログイン制限を無料で設定できる最高の無料ツールは?

      WordPress で複数のログインを制限するための最良の無料ツールは、Loggedin – Limit Active Logins と WPCode Lite です。ログイン – アクティブなログインを制限すると、ユーザーごとのアクティブなログインの最大数を設定でき、ユーザーが一度に 1 つのデバイスからのみサイトにアクセスできるようになります。一方、WPCode の無料版では、役割と IP アドレスによってサイトにアクセスできるユーザーをカスタマイズできるため、さらに一歩前進できます。

      IP ホワイトリストにより同時ログインを阻止できますか?

      IP ホワイトリストはアクセス制御に役立ちますが、同時ログインを停止する解決策ではありません。承認された IP アドレスのユーザーのみがログインできるようにしますが、異なるデバイス上の複数のセッションを完全に制限するわけではありません。この方法は、動的なユーザー ベースよりも、オフィスなどの静的 IP 環境でのアクセス制御に適しています。代わりに、Loggedin – Limit Active Logins や WPCode Lite などのプラグインを使用できます。

      特定のユーザーがデバイスごとに 1 セッション ポリシーをバイパスできるようにすることはできますか?

      はい、WPCode などのツールを使用して、特定のユーザーがデバイスごとに 1 セッション ポリシーをバイパスできるようにすることができます。このプラグインを使用すると、カスタム PHP コード スニペットをサイトに追加できます。これらのカスタム コードを使用すると、特定のユーザー ID またはロールをログイン制限から除外できます。たとえば、制限を免除するユーザー ID または管理者などのロールのリストを作成し、それらのアカウントに対して複数のログインを有効にすることができます。

      ユーザーログインの制御に役立つセキュリティプラグインは何ですか?

      Wordfence Security と iThemes Security は、WordPress でのユーザー ログインを制御するための 2 つの優れたセキュリティ プラグインです。 Wordfence は、2 要素認証、ログイン試行制限、リアルタイム トラフィック監視などの機能を提供し、不正アクセスを効果的にブロックします。一方、iThemes Security は、強力なパスワード強制、ブルート フォース保護、および疑わしい IP をロックアウトする機能を有効にして、ログイン セキュリティを強化します。

      おめでとう!複数デバイスのログインを無料で簡単に制限できるようになりました。ユーザーのログインをさらに細かく制御するには、WordPress でログイン試行を制限する方法に関するこの記事を確認してください。

      それに加えて、ここにはあなたが読むことに興味があるかもしれない他の記事があります。

      • WordPress でカスタム ログイン ページを適切に作成する方法
      • WordPress Web サイトに対するブルート フォース攻撃を阻止する方法
      • 9 つのベスト WordPress セキュリティ プラグインの比較

      最初の記事では、ユーザー エクスペリエンスとセキュリティを向上させるカスタム ログイン ページを作成する方法を説明します。次の投稿では、ブルートフォース攻撃を阻止する方法に焦点を当てます。前回の記事では 9 つの最高の WordPress セキュリティ プラグインをリストしました。