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

cattiger 2002-05-11 05:34:10
加精
当用户登录系统,输入用户名和密码,限制其最多连续输入三次错误的用户密码,让其重新打开一个窗口进入系统。
请问这怎样来实现呢,在服务器端限制,还是在客户端限制呢????
...全文
468 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
随便,都行,你可以建立一个表,一登陆就建立一个,放他的登陆次数,每次登陆都检查,如果超出了就拒绝
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告