| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:[求大家多帮忙]密码验证问题
只看楼主 加入收藏
虚心学子
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-21
收藏
 问题点数:0 回复次数:7 
[求大家多帮忙]密码验证问题
  bgColor=#ffffff border=1>
我设计的登陆系统要求同一个帐号登陆时候,如果密码输错三次,该帐号则被提示为非法用户,锁定帐号,我不会实现,请大家帮帮忙!谢谢!登陆处理页面如下
dim strSQL,strPress,i
strPress = Request.Form("zh")
strPress1 = Request.Form("mm")
i=0
if strPress<>"" then


Set conn = Server.CreateObject("ADODB.Connection")
strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("yonghu.mdb")
conn.open strconn

strSQL = "SELECT * FROM yonghu"
strSQL = strSQL & " WHERE id='"&Trim(strPress) & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,conn

if rs.EOF then
response.write "<script>alert('没有此用户');window.navigate('main.htm');</script> "
else
if strPress1=rs("mima") then
response.write "<script>alert('登陆成功');window.navigate('main.htm');</script> "
else
response.write "<script>alert('密码错误');window.navigate('main.htm');</script> "
end if
rs.Close
conn.Close
end if
else
response.write "<script>alert('用户名不能为空');window.navigate('main.htm');</script> "

end if


上面的有缺陷,不能实现同一帐号密码出错三次即提示“你的密码出错三次”的功能,请大家帮忙修改,我新手,最好能给思路和代码,谢谢拉!
UID219577 帖子10 精华[url=http://bbs.]0[/url] 积分10 阅读权限10 性别男 在线时间0 小时 注册时间2007-11-21 最后登录2007-11-22 [url=http://bbs.]查看详细资料[/url]

[url=http://bbs.]编辑[/url] [url=http://bbs.]引用[/url] [url=http://bbs.]使用道具[/url] [url=http://bbs.]报告[/url] [url=http://bbs.]回复[/url] TOP

搜索更多相关主题的帖子: 密码 验证 
2007-11-22 09:12
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
用一个session作为计数器,每次密码错误加1,如果达到三次,那么就自动跳转到处理的页面.

不过你这样做相当的不好,比如我想整谁,只要把他的用户名输入,然后随便弄3次密码,那他的用户名就被锁定了,这样他想要上也没法上了

一般来说,还是如果密码输错3次,禁止这个IP在一段时间内访问.同时还要用验证码,这样就能防止暴力破解了

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-22 14:14
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
dim strSQL,strPress,i
strPress = Request.Form("zh")
strPress1 = Request.Form("mm")
i=0
if strPress<>"" then
IF Session("tryCount")="" Then Session("tryCount")=0

Set conn = Server.CreateObject("ADODB.Connection")
strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("yonghu.mdb")
conn.open strconn

strSQL = "SELECT * FROM yonghu"
strSQL = strSQL & " WHERE id='"&Trim(strPress) & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,conn

if rs.EOF then
response.write "<script>alert('没有此用户');window.navigate('main.htm');</script> "
else
if strPress1=rs("mima") then
response.write "<script>alert('登陆成功');window.navigate('main.htm');</script> "
else
  
  IF Session("tryCount")<>3"Then
      response.write "<script>alert('密码错误');window.navigate('main.htm');</script> "
       Session("tryCount")=Session("tryCount")+1
  Else
         response.write "<script>alert('密码已经3次错误了');window.navigate('main.htm');</script> "
  End IF
end if
rs.Close
conn.Close
end if
else
response.write "<script>alert('用户名不能为空');window.navigate('main.htm');</script> "

end if
2007-11-22 14:54
虚心学子
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-21
收藏
得分:0 
谢谢大家
dim strSQL,strPress,i

    strPress = Request.Form("zh")
    strPress1 = Request.Form("mm")
    i=0

    if isempty(session("times")) then
    session("times")=0
    else
    if session("times")<=3 then
        session("times")=session("times")+1
    
    if strPress<>"" then
    
    
    Set conn = Server.CreateObject("ADODB.Connection")
    strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("yonghu.mdb")
    conn.open strconn
    
    strSQL = "SELECT * FROM yonghu"
    strSQL = strSQL & " WHERE id='"&Trim(strPress) & "'"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSQL,conn
    
      if rs.EOF then
        response.write "<script>alert('没有此用户');window.navigate('index.html');</script> "
      else
          if strPress1=rs("mima") then
           response.write "<script>alert('登陆成功');window.navigate('index.html');</script> "
          else
           response.write "<script>alert('密码错误');window.navigate('index.html');</script> "
          end if
    rs.Close
    conn.Close
      end if
    else
        response.write "<script>alert('用户名不能为空');window.navigate('index.html');</script> "
      
    end if

    else
        if DateDiff("s", Now, session("Start"))<=60     then
            Response.Write("<script>alert(""您的登录尝试超过三次,请两分钟后再登陆!"");location=""index.html""</script>")
            else
            if DateDiff("s", Now, session("Start"))>120     then
                session("times")=0
            end if
        end if
        session("Start")=now()'返回午夜 12 时以后已经过去的秒数
    end if
    end if


    

 
上面是我朋友帮我弄的也不行,所有帐号都被锁定了,哎真难弄
2007-11-23 13:06
虚心学子
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-21
收藏
得分:0 
我现在试试3楼的代码
先谢谢了
2007-11-23 13:08
虚心学子
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-21
收藏
得分:0 
太谢谢了
三楼的代码,可以正常运行,谢谢了
2007-11-23 13:18
虚心学子
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-21
收藏
得分:0 
[求教]密码验证又出新问题拉
原帖由 yms123 于 2007-11-22 14:54 发表 [url=http://bbs.][/url]
dim strSQL,strPress,i
strPress = Request.Form("zh")
strPress1 = Request.Form("mm")
i=0
if strPress"" then
IF Session("tryCount")="" Then Session("tryCount")=0

Set conn = Server.CreateObject("ADODB.C ...

这位朋友给帮忙修的代码,可以实现帐号的密码输错三次就提示“密码出错三次”的功能了,可是如果帐号a密码输错三次的话,再输入帐号b,只要b的密码出错一次,就提示“密码出错三次”,请再改改!
2007-11-23 19:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
dim strSQL,strPress,i
strPress = Request.Form("zh")
strPress1 = Request.Form("mm")
i=0
if strPress<>"" then

Set conn = Server.CreateObject("ADODB.Connection")
strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("yonghu.mdb")
conn.open strconn

strSQL = "SELECT * FROM yonghu"
strSQL = strSQL & " WHERE id='"&Trim(strPress) & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,conn

if rs.EOF then
response.write "<script>alert('没有此用户');window.navigate('main.htm');</script> "
else
if strPress1=rs("mima") then
response.write "<script>alert('登陆成功');window.navigate('main.htm');</script> "
else
  IF Session("strPress")<>strPress Then
      Session("strPress")=strPress
       Session("tryCount")=0
  End IF
  IF Session("tryCount")<>3 Then
      response.write "<script>alert('密码错误');window.navigate('main.htm');</script> "
       Session("tryCount")=Session("tryCount")+1
  Else
         response.write "<script>alert('密码已经3次错误了');window.navigate('main.htm');</script> "
  End IF
end if
rs.Close
conn.Close
end if
else
response.write "<script>alert('用户名不能为空');window.navigate('main.htm');</script> "

end if
这样呢?
2007-11-23 20:31
快速回复:[求大家多帮忙]密码验证问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031050 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved