念のため、現在のアプリのログインでは、ログインメソッドまたはパスワードリセットメソッドに渡されるパラメーターは保存されません。ログ呼び出しにはこれを制御するオプションのパラメーターがあり、trueに設定すると、保存されているパラメーターオブジェクトがに置き換えられます[Redacted]
。確かに、私は少しのデータを見逃しますが、私はそれらのIPアドレスを持っています。
この種のことを本当に記録したい場合は、ログイン試行を記録するときに、ユーザー名フィールドにある名前と一致する名前を持つユーザーのデータベースを確認し、一致する場合にのみ保存することをお勧めします。それ以外の場合は、単に「不明なユーザー」として保存します。この値に何かが含まれているかどうかを確認することもできますが、[User] [Password]と[UserPas] [sword]のような組み合わせを取得するリスクが常にあります。この場合、IPをチェックして、誰かのパスワードの開始を誤って平文で保存してしまった。これを可能性の低い[ユーザー] [パスワード]および[ユーザーパスワード] [??]に拡張することができます。この場合、「UserPasswordによるログイン失敗」に続いて「ユーザーによるログイン成功」が表示され、ユーザーのパスワードの。一般的に、安全のために、ログインが成功しない限り、ユーザー名を記録しないようにします。
追加して編集:
私の意見では、失敗したログイン試行のユーザー名を記録するために人々が投稿している引数のほとんどは、他の方法でより適切に処理されます。
たとえば、顧客が「なぜログオンできないのか?」と尋ねると、ログに記録されたユーザー名によってタイプミスを指摘できると言われています。これは事実ですが、パスワードを取得するリスクもありません。その代わりに、失敗時にユーザーをログインフォームにリダイレクトし、ユーザー名フィールドを強調表示し、入力した内容を再入力して、自分で確認できるようにします。
別の議論は、ハッキングの試みを特定できるということです。1つのユーザー名に対する一連の失敗は、パスワードを総当たりする試みである可能性があります。Usersテーブルに「BadLogins」列を設定して、このユーザーに一致するユーザー名でログインが失敗するたびに増加し、「成功した」ことをユーザーに通知した後、ログインが成功すると0にリセットされます。 x最後のログイン以降のログイン試行の失敗」および試行がそれらからのものであると思わない場合の対処方法についてアドバイスします。本当に徹底したい場合は、ログインに成功した後でもBadLogins列の最後の値を保存する別の列、および/またはこの列の史上最高の値を保存する列、および/またはこのアカウントが過去に失敗したログインの総数を保存します。