⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 714560.xml

📁 论坛精华帖子
💻 XML
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<TopicId>714560</TopicId>
<TopicName>一个登录问题,tomcat4.0.3,当用户登录时如何限制用户输入用户名和密码的错误次数?</TopicName>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>12</ReplyNum>
<PostDateTime>2002-5-11 17:34:11</PostDateTime>
<Point>60</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>当用户登录系统,输入用户名和密码,限制其最多连续输入三次错误的用户密码,让其重新打开一个窗口进入系统。
请问这怎样来实现呢,在服务器端限制,还是在客户端限制呢????</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>沽名钓誉活死人</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4673521</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>101874</PostUserId>
<PostUserName>eaglemin</PostUserName>
<Point>5</Point>
<Content>随便,都行,你可以建立一个表,一登陆就建立一个,放他的登陆次数,每次登陆都检查,如果超出了就拒绝</Content>
<PostDateTime>2002-5-11 17:47:18</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4675279</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>这应该算是在服务器端限制吧,那在客户端怎么限制呢</Content>
<PostDateTime>2002-5-11 20:00:24</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4675286</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>eaglemin(沽名钓誉活死人),你做过这方面的东西吗</Content>
<PostDateTime>2002-5-11 20:01:07</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4675526</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>eaglemin(沽名钓誉活死人),你所说的方案,我有点想不通了,用户登录一下,登录次数字段的值加1,再检查判断是不是超过了3,那什么时候把此值复位为0呢。</Content>
<PostDateTime>2002-5-11 20:16:37</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>i</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4680001</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>212912</PostUserId>
<PostUserName>daanhan</PostUserName>
<Point>5</Point>
<Content>可以过一段时间(比如10分钟)复位.
当然要他密码什么的正确才行.
这些都在登陆的时候解决.</Content>
<PostDateTime>2002-5-12 9:58:44</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>saintKnight</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>4683616</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>237709</PostUserId>
<PostUserName>saintKnight</PostUserName>
<Point>20</Point>
<Content>可以新建一个类存放登录次数的,在登录页设定此类的对象为request范围,当登录密码错误时,将该对象中的计数器加1,然后判断是否&gt;3决定怎么处理。当登录成功后,转向另一页时该对象自动消灭,不知行不行</Content>
<PostDateTime>2002-5-12 16:56:17</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4683770</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>用户登录时就要新建一条记录,但登录时如何决定让用户新建一条记录还是只将登录次数字段值加1呢??
我想了一个方案:根据用户登录时间与表中的登录时间字段比较,只要不超出一定值就让其修改登录次数字段。
不知还有没有更好的方案呢,请高手指点。</Content>
<PostDateTime>2002-5-12 17:07:41</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>saintKnight</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>4684195</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>237709</PostUserId>
<PostUserName>saintKnight</PostUserName>
<Point>30</Point>
<Content>public&#32;class&#32;LoginCount&#32;{
&#32;&#32;private&#32;int&#32;lCount=0;
&#32;&#32;public&#32;LoginCount()&#32;{
&#32;&#32;}
&#32;&#32;public&#32;int&#32;getLCount()&#32;{
&#32;&#32;&#32;&#32;&#32;return&#32;lCount;
&#32;&#32;}
&#32;&#32;public&#32;void&#32;LCount()&#32;{
&#32;&#32;&#32;&#32;&#32;lCount++;
&#32;&#32;}
}
//以后是试验用的JSP页面
&lt;%@&#32;page&#32;contentType="text/html;&#32;charset=GBK"&#32;%&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;
loginTest
&lt;/title&gt;
&lt;/head&gt;
&lt;jsp:useBean&#32;id="myLCount"&#32;scope="session"&#32;class="LoginCount"&#32;/&gt;
&lt;body&gt;
&lt;%
String&#32;username=request.getParameter("username");
String&#32;userpwd=request.getParameter("userpwd");
if(userpwd!=null)&#32;{
&#32;&#32;if(userpwd.equals("success"))&#32;{
&#32;&#32;&#32;&#32;&#32;session.invalidate();
&#32;&#32;&#32;&#32;&#32;response.sendRedirect("success.jsp");
&#32;&#32;}else{
&#32;&#32;&#32;&#32;&#32;myLCount.LCount();
&#32;&#32;}
}
int&#32;count=myLCount.getLCount();
out.println(count);
if(count&gt;3)&#32;{
&#32;&#32;out.println("登录失败!");
&#32;&#32;return;
}
%&gt;
&lt;form&#32;name=myform&#32;method=post&#32;action="loginTest.jsp"&gt;
名称:&lt;input&#32;type="text"&#32;name="username"&#32;value=""&gt;&lt;br&gt;
密码:&lt;input&#32;type="text"&#32;name="userpwd"&#32;value=""&gt;&lt;br&gt;
&lt;input&#32;type="submit"&#32;value="登录"&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</Content>
<PostDateTime>2002-5-12 17:34:58</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4684329</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>saintKnight(saintKnight)谢谢,我马上试一下,
但那会你不是说在登录页设定此类的对象为request范围,而你给的例子中
&lt;jsp:useBean&#32;id="myLCount"&#32;scope="session"&#32;class="LoginCount"&#32;/&gt;
scope为session了?</Content>
<PostDateTime>2002-5-12 17:44:31</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4690115</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>saintKnight(saintKnight),下面代码为什么要加上session.invalidate();呢??
if(userpwd.equals("success"))&#32;{
&#32;&#32;&#32;&#32;&#32;session.invalidate();
&#32;&#32;&#32;&#32;&#32;response.sendRedirect("success.jsp");</Content>
<PostDateTime>2002-5-13 8:22:40</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>saintKnight</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>4697049</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>237709</PostUserId>
<PostUserName>saintKnight</PostUserName>
<Point>0</Point>
<Content>request范围不行,因为有form提交只能使用session范围。
还有session.invalidate()是为了清除存在session中的这个myLCount对象,也可以使用session.removeAttribute("myLCount")来清除。</Content>
<PostDateTime>2002-5-13 17:28:48</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4697347</ReplyID>
<TopicID>714560</TopicID>
<PostUserId>142657</PostUserId>
<PostUserName>cattiger</PostUserName>
<Point>0</Point>
<Content>我用session.invalidate()不行,因为我要用session。
好的,谢谢!
结帐。</Content>
<PostDateTime>2002-5-13 17:43:09</PostDateTime>
</Reply>
</Replys>
</Topic>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -