Loggedin:1アカウントの複数端末同時ログインを制限できる
WordPress のデフォルトでは、ユーザーは 1 つのアカウントを使用して一度に複数の端末から無制限に同時ログインできます。
WordPress サイトを1人で個人用ブログとして運用してるなら、
特に気にすることではないかもしれませんが、
会員制サイトとして運用していると問題点が出てくるかもしれませんよね。
そのような時に便利な WordPress 用プラグインがあります。
それは「Loggedin – Limit Active Logins」です。
その導入手順から日本語化・使い方と設定などを解説していきます。
Loggedin – Limit Active Logins
Loggedin は、1アカウントでの複数端末による同時ログインを制限することができます。
Loggedin では、ユーザーのアクティブログインの数を設定できます。
設定したログイン数に到達後に新たな端末でログインするのを自動的にブロックできます。
管理者がユーザーを強制的にログアウトさせることもできます。
特定のユーザーまたはユーザー権限をもつユーザーのログイン制限を回避することもできます。
記事を作成もしくは更新時点でのバージョン:1.2.0
マルチサイトでの利用:可
補足情報
総合的なセキュリティ対策ができる Shield Security にも同様の機能があります。
1 アカウント毎の最大同時接続数を指定できる以外にも、
ログインユーザーの IP アドレスを監視し変更されるとセッションを無効にしたり、
一定時間画面操作がないと強制的にログアウトさせることもできます。
日本語化もされているので、Shield Security を使うのも有りだと思います。
Shield Security の使い方 – WordPress 活用術
インストール手順
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化するか
Loggedin – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面から入手できます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「Loggedin」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
Loggedin を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用メニュー
Loggedin に専用メニューは無いです。
ダッシュボードの「設定」メニューの「一般設定」画面に設定項目が追加されています。
使い方
- Maximum Active Logins
1 アカウントの最大同時接続数を指定します。この値に達すると、ログイン中のデバイスからログアウトするまでログイン試行に失敗します。※ブラウザーを閉じても、ログインセッションが存在する場合があります。
初期値:3 - Login Logic
ログイン方式を選択します。
Allow:制限に達すると全ての古いセッションを終了すると新しいログインができるようになります。
Block:制限に達すると新しいログインを許可しません。 ユーザーは、古いログインセッションの有効期限が切れるのを待つ必要があります。 - Force Logout
全ての端末からユーザーを強制的にログアウトすることができます。ユーザー ID を入力します。
ログインセッションの有効期限について
ログインセッションの有効期限は、
ログイン時に「ログイン状態を保存する」にチェックが付いていると、
WordPress のデフォルトではログインユーザーを 14 日間ログインしたままになります。
「ログイン状態を保存する」にチェックが付いていなくても、2 日間ログインしたままになります。
有効期限を変更したい場合には auth_cookie_expiration フィルターを使用すると、
その有効期間を変更できます。
function loggedin_auth_cookie_expiration( $expire ) {
return MONTH_IN_SECONDS;
}
add_filter( 'auth_cookie_expiration', 'loggedin_auth_cookie_expiration' );
上記のフィルターを使用したくない場合には、下記のプラグインもあります。
ログイン状態を保存する機能を無効化したり、有効期限を変更することもできます。
Remember Me Controls の使い方 – WordPress 活用術
特定のユーザーの制限を無効にするには
下記のコードを テーマの functions.php に追加します。
サードパーティ製のプラグインを使用しているなら、そこに追加しましょう。
特定のユーザーを指定したい場合には下記のコードを記述します。
function loggedin_bypass_users( $bypass, $user_id ) {
// 制限を回避したいユーザーのユーザー ID を入力します。
$allowed_users = array( 1, 2, 3, 4, 5 );
return in_array( $user_id, $allowed_users );
}
add_filter( 'loggedin_bypass', 'loggedin_bypass_users', 10, 2 );
特定のユーザー権限で指定したい場合には下記のコードを記述します。
function loggedin_bypass_roles( $prevent, $user_id ) {
// ユーザー権限を配列で指定します。
$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 );