web-dev-qa-db-ja.com

ユーザーがログインに失敗したときに管理者にメールを送信するにはどうすればよいですか?

間違ったパスワードを入力してログインできなかった場合に、管理者ユーザーにメールで通知する機能を実装する必要があります。ログインに失敗したアカウントのユーザー名を含む基本的にシンプルなメール形式。誰かがガイダンスや提案をすることはできますか?

PS: Rules モジュールをチェックしましたが、「When user failed to login」のような必要なルールイベントがありません。

3
Laziz

人々は常にタイプミスしたり、間違った代替パスワードを使用したりします。最初の試みが失敗したときに電子メールを送信するのはやり過ぎです。

セキュリティ上の理由から、Drupalは、ログインに5回失敗するとユーザーアカウントをブロックします。

Rules Block/Unblock User を使用して、ユーザーがブロックされたときに電子メールを送信できます。 (5回失敗)

このモジュールは、ユーザーアカウントがブロックまたはブロック解除されたときのルールイベントといくつかのデフォルトルールを追加します。

enter image description here

2
No Sssweat

ログイン時に提供されたユーザー名に対してデータを持っているユーザーのみにメールを送信できます。 _hook_mail_を使用してメールを送信できます。したがって、ユーザーのログイン時にデータを検証する必要があります。

  1. form alter()を使用して検証関数を定義します。
  2. ユーザー認証の検証( 検証方法
  3. 失敗した場合は、ユーザーデータを取得して_drupal_mail_関数を呼び出します 詳細

お役に立てば幸いです

1
bisw