0

ログインの最大試行回数を制限しようとしています。これが私が現在行っていることです:

1.) ログインカウンターをセッションに保存する

2.) セッションに保存されているカウンターを比較するログイン試行ごとに

3.) カウンターが最大試行回数より小さい場合 >> 回数を増やすcounter

4.) カウンタが最大試行回数に等しい場合 >>last access timeセッションの を と比較しcurrent timeます。

差が (たとえば 20 分) を超える場合は、destroy the session(ユーザーが試行できるようにするため)。

差が小さい場合は、エラー ページにリダイレクトします。これはすべて正常に機能していますが、ユーザーが Web アプリケーションの残りの部分 (ログイン ページを除く) を単に閲覧している場合でも、このメソッドは失敗します。

これを考慮してください:

1 人のユーザーが最大ログイン試行回数を超えたため、残りのアプリケーションを 20 分間閲覧することにしました。しかし、20 分経ってもログイン試行は失敗します。

これは、counterが に格納されており、同じセッションでユーザーが Web アプリをブラウズしているためです。そのため、セッションの とsessionの差は よりも大きくないため、失敗します。last access timecurrent time20 minute

では、どうすればこの問題を解決できますか。

ありがとうございました。

4

1 に答える 1

1

を使用しsession create timeたり、ユーザーがログイン試行回数を超えた時間をセッションに保存したりできます。したがって、これらの時間のいずれかを使用して、 と比較しlast access timeます。

于 2013-06-05T19:36:36.170 に答える