PowerCMS X ブログ
2022-06-14
パスワードの再設定画面から、メールアドレスを入力、メールに記載の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/配下にキャッシュファイル群があると思いますので、これらを削除してください。
環境変数「ip_unlock」が追加されます。キーをモデル名( userまたはmember )、値を解除する秒( 数値 )に指定した配列で指定します。指定することで、ロックアウトから一定時間経過した禁止IPアドレスのロックアウトを解除します。
"ip_unlock" : ["user": 3600, "member": 1800],
カテゴリー:トラブルシューティング | 技術情報 | よくあるご質問
投稿者:Junnama Noda