一个登录问题,tomcat4.0.3,当用户登录时如何限制用户输入用户名和密码的错误次数?

cattiger 2002-05-11 05:34:10
加精
当用户登录系统,输入用户名和密码,限制其最多连续输入三次错误的用户密码,让其重新打开一个窗口进入系统。
请问这怎样来实现呢,在服务器端限制,还是在客户端限制呢????
...全文
557 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattiger 2002-05-13
  • 打赏
  • 举报
回复
saintKnight(saintKnight),下面代码为什么要加上session.invalidate();呢??
if(userpwd.equals("success")) {
session.invalidate();
response.sendRedirect("success.jsp");
cattiger 2002-05-13
  • 打赏
  • 举报
回复
我用session.invalidate()不行,因为我要用session。
好的,谢谢!
结帐。
saintKnight 2002-05-13
  • 打赏
  • 举报
回复
request范围不行,因为有form提交只能使用session范围。
还有session.invalidate()是为了清除存在session中的这个myLCount对象,也可以使用session.removeAttribute("myLCount")来清除。
daanhan 2002-05-12
  • 打赏
  • 举报
回复
可以过一段时间(比如10分钟)复位.
当然要他密码什么的正确才行.
这些都在登陆的时候解决.
cattiger 2002-05-12
  • 打赏
  • 举报
回复
saintKnight(saintKnight)谢谢,我马上试一下,
但那会你不是说在登录页设定此类的对象为request范围,而你给的例子中
<jsp:useBean id="myLCount" scope="session" class="LoginCount" />
scope为session了?
saintKnight 2002-05-12
  • 打赏
  • 举报
回复
public class LoginCount {
private int lCount=0;
public LoginCount() {
}
public int getLCount() {
return lCount;
}
public void LCount() {
lCount++;
}
}
//以后是试验用的JSP页面
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
loginTest
</title>
</head>
<jsp:useBean id="myLCount" scope="session" class="LoginCount" />
<body>
<%
String username=request.getParameter("username");
String userpwd=request.getParameter("userpwd");
if(userpwd!=null) {
if(userpwd.equals("success")) {
session.invalidate();
response.sendRedirect("success.jsp");
}else{
myLCount.LCount();
}
}
int count=myLCount.getLCount();
out.println(count);
if(count>3) {
out.println("登录失败!");
return;
}
%>
<form name=myform method=post action="loginTest.jsp">
名称:<input type="text" name="username" value=""><br>
密码:<input type="text" name="userpwd" value=""><br>
<input type="submit" value="登录">
</form>
</body>
</html>
cattiger 2002-05-12
  • 打赏
  • 举报
回复
用户登录时就要新建一条记录,但登录时如何决定让用户新建一条记录还是只将登录次数字段值加1呢??
我想了一个方案:根据用户登录时间与表中的登录时间字段比较,只要不超出一定值就让其修改登录次数字段。
不知还有没有更好的方案呢,请高手指点。
saintKnight 2002-05-12
  • 打赏
  • 举报
回复
可以新建一个类存放登录次数的,在登录页设定此类的对象为request范围,当登录密码错误时,将该对象中的计数器加1,然后判断是否>3决定怎么处理。当登录成功后,转向另一页时该对象自动消灭,不知行不行
cattiger 2002-05-11
  • 打赏
  • 举报
回复
eaglemin(沽名钓誉活死人),你所说的方案,我有点想不通了,用户登录一下,登录次数字段的值加1,再检查判断是不是超过了3,那什么时候把此值复位为0呢。
cattiger 2002-05-11
  • 打赏
  • 举报
回复
eaglemin(沽名钓誉活死人),你做过这方面的东西吗
cattiger 2002-05-11
  • 打赏
  • 举报
回复
这应该算是在服务器端限制吧,那在客户端怎么限制呢
三十六 2002-05-11
  • 打赏
  • 举报
回复
随便,都行,你可以建立一个表,一登陆就建立一个,放他的登陆次数,每次登陆都检查,如果超出了就拒绝

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧