PowerCMS X ブログ

2022-06-14

[FAQ] ユーザーまたはIPアドレスがロックアウトされてしまった時

ユーザー(メンバー)がロックアウトされてしまった場合

パスワードの再設定画面から、メールアドレスを入力、メールに記載のURLでパスワードをリセットするとロックアウトが解除されます。

IPアドレスはロックアウト解除されませんが、環境変数「recover_ip_at_reset」に trueを指定すると、パスワードリセット時に同時にそのIPアドレスを「禁止」→「情報」に変更されます。ただし、IPアドレスを「管理者」に戻すことはできません。

コードを一時的に修正して対応する場合

class.Prototype.php の「admin_protect」「ip_protect」をセットしている場所をコメントアウトします。

                if ( $key === 'administrator_ip' && $cfg->value ) {
                    // $this->admin_protect = true; // ※ 管理者のIP制限
                } else if ( $key === 'allowed_ip_only' && $cfg->value ) {
                    // $this->ip_protect = true; // ※ すべてのユーザーのIP制限
                } else if ( $key === 'timezone' && $cfg->value ) {

データベースを操作する場合

システムの設定画面のロックアウト関係の設定は、テーブル mt_option に option_kind='config' で保存されています。

システムの設定画面のスクリーンショット

option_key 設定名 option_value
two_factor_auth 2段階認証を利用する 0 or 1
lockout_limit ユーザー認証ロック回数 数値 (回数)
lockout_interval ユーザーロックアウト間隔 数値 (秒)
ip_lockout_limit IP認証ロック回数 数値 (回数)
ip_lockout_interval IPロックアウト間隔 数値 (秒)
no_lockout_allowed_ip 許可されたIPアドレスはロックしない 0 or 1
allowed_ip_only 管理者ログインにIPアドレス制限を設定する 0 or 1
administrator_ip すべてのユーザーにIPアドレス制限を適用する 0 or 1

IPアドレスは、mt_remote_ip テーブルに保存されています。これらの値をデータベースを直接操作して変更した場合はキャッシュのクリアが必要となります。

※ cache_driverが”File”の場合、temp_dirの配下もしくは、PowerCMSX/cache/配下にキャッシュファイル群があると思いますので、これらを削除してください。

ver.3.06で追加される環境変数

環境変数「ip_unlock」が追加されます。キーをモデル名( userまたはmember )、値を解除する秒( 数値 )に指定した配列で指定します。指定することで、ロックアウトから一定時間経過した禁止IPアドレスのロックアウトを解除します。

        "ip_unlock" : ["user": 3600, "member": 1800],

カテゴリー:トラブルシューティング | 技術情報

投稿者:Junnama Noda

ブログ内検索

アーカイブ