0

我正在尝试限制最大登录尝试次数。这是我目前正在做的事情:

1.) 将登录计数器存储在会话中

2.) 在每次登录尝试时比较存储在会话中的计数器

3.)如果计数器小于最大尝试数>>增加counter

4.) 如果计数器等于最大尝试次数 >> 将会话的 与 进行last access time比较current time

如果差异大于(比如 20 分钟),那么destroy the session(允许用户进行尝试)。

如果差异较小,则重定向到错误页面。这一切正常,但即使用户只是浏览 Web 应用程序的其余部分(登录页面除外),此方法也会失败。

现在考虑一下:

一位用户超过了最大登录尝试次数,因此他决定浏览应用程序的其余部分 20 分钟。但即使在 20 分钟后,登录尝试也会失败。

这是因为 和counter存储在用户浏览网络应用程序的同一会话中,因此会话之间 的session差异不大于因此失败。last access timecurrent time20 minute

那么我该如何解决这个问题。

谢谢你。

4

1 回答 1

1

您可以使用session create time或 在会话中存储用户超过登录尝试的时间。因此,使用其中一个时间与last access time.

于 2013-06-05T19:36:36.170 回答