Drupal 8 で ログインロックの回数を変更する


今回はDrupal8のログイン処理で、デフォルトで機能するログインロックの回数を変更してみます。
意外と下記エラーがでて困っている人も多いのでは?

There have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password.

セキュリティ的にはロックを掛けること自体はいいんですが、実運用を考えるとデフォルトの5回は少ないですし、ロック解除用のモジュールをいれていないと、DBを直接更新しなければロックが解除できないので・・・とりあえず今回は7回にしてみます。

Drupal7では、

$conf['user_failed_login_user_limit'] = 10000;

や 

$conf['user_failed_login_ip_limit'] = 10000;

のように設定していましたが、Drupal8では下記の場所もしくは、「環境設定」>「設定と同期」から確認できます。インストール時は5回に設定されているようです。

$ cat core/modules/user/config/install/user.flood.yml
uid_only: false
ip_limit: 50
ip_window: 3600
user_limit: 5
user_window: 21600

次は設定変更です。「環境設定」>「設定と同期」を開きます。今回は、単一設定’(user.flood)のインポートなので、「インポート」>「シングルアイテム」を押下して、下記のように入力して「インポート」を押下すれば完了です。

エラーなく取り込めたら、実際に、ログインを失敗してみてください。7回失敗してアカウントロックされた旨が表示されるはずです。