户登录时密码不能超过5次,应该如何统计用户密码输入错误的次数

xulaopo 2013-06-28 08:49:59
想做一个登录页,提示用户登录时密码不能超过5次,应该如何统计用户密码输入错误的次数,定义了session(“num”)来统计,在判断用户名,密码错误时累计加1,但是切换用户登录错误时,依旧累加二不是从1开始累计。
代码如下:
global.asa
<Script language="VBScript" RUNAT="Server">
sub Application_OnStart
Application.lock
Application("whoson")=0
Application.unlock
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
session("check_num")=0
End Sub
Sub Session_OnEnd
End Sub
</Script>

logincheck.asp
<!--#include file="connection.asp"-->
<body bgcolor="#E1F1E4"><%
id=trim(request.form("id"))
pw=trim(request.form("pw"))
safecode=trim(request.form("validatecode"))
session("id")=id
session("pw")=pw

conn.Open ConnStr

set rs=server.createobject("adodb.recordset")

if id="" or pw="" or safecode="" then
%>

<script language="VBScript">
alert("用户名、密码或验证码不能为空,请重新输入!")
window.location.href="login.asp"
</script>

<%
end if

If Trim(Request.form("validatecode"))=Empty Or Trim(Session("safeCode"))<>Trim(Request.form("validatecode")) Then %>
<script language="VBScript">
alert("验证码不正确,请重新输入!")
window.location.href="admin.asp"
</script>
<%response.end
end if
sql="select * from user where name='"&id&"' and password='"&pw&"'"
rs.open sql,conn,1,1

if not rs.eof and not rs.bof then
response.redirect "user_index.asp"
end if
else
session("check_num")=session("check_num")+1
if session("check_num")<=3 then
%>

<script language="VBScript">
alert("密码错误,您有五次机会!")
window.location.href="login.asp"
</script>
<%else%>
<script language="VBScript">
alert("密码错误,您已无法登陆!")
window.location.href="login.asp"
</script>
<%end if%>
<%end if%>
哪里错了吗?
或者还是有更好方法?
...全文
1232 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xulaopo 2013-06-29
  • 打赏
  • 举报
回复
引用 1 楼 linshuibin1991 的回复:
可以在数据库中建立登录次数,在每次错误时更新数据库中的错误次数,在成功登录后,将错误次数清0就好了
没人回答就给你了
linlj1991 2013-06-29
  • 打赏
  • 举报
回复
可以在数据库中建立登录次数,在每次错误时更新数据库中的错误次数,在成功登录后,将错误次数清0就好了

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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