设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 66|回复: 4
打印 上一主题 下一主题

【求助】会员登陆问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-10 02:36:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
<%
      dim sql,rs,username,userpwd
    username=request.Form("caccount")
    userpwd=request.Form("cpassword")
   
      sql="select * from T_User where username='" & username    & "'"
      set rs=server.CreateObject("adodb.recordset")
    rs.Open sql,conn,1,3   
   
    do while not rs.eof     
        if rs("username")=username then
            response.Redirect("index.asp")
        else
            response.Write("错误")
        end if
    loop
%>

这样写对吗?
我要完成的功能是:有一个表。表里面有十个用户,我随便用一个用户登陆。如果存在则显示成功。否则失败。
怎么做呢。
4#
发表于 2010-1-10 02:37:09 | 只看该作者
我试下改了以下代码,又出现一个错误啊。
    If Rs.BOF or Rs.EOF Then
        if rs("username")=username then ------此处为17行
            if rs("userpwd")=userpwd then
                Response.Redirect "index.asp"   
            else
                Response.Write "登录失败,密码错误"   
                Response.End
            end if
        else
            Response.Write "登录失败,用户名不存在或者错误"   
            Response.End
        end if
    End If

错误类型:
(0x80020009)
发生意外。
/TestDemo/UserLogin.asp, 第 17 行
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-10 02:37:05 | 只看该作者
这样写有点小问题,不很错。而且注意有注入漏洞。

没有核对密码。

注意你的sql语句生成方式,在表里查询所有名称为什么什么什么的记录,按说要么没有,要么有一条,那么下面就不应该用do循环了,何况那个if肯定是真的(因为你搜记录的条件是他们相等),而是直接判断Rs.BOF or Rs.EOF,如果是真,那么用户不存在,如果是假,继续核对密码,Rs("password")=userpwd,如果相等,那么放行,如果不等,就是密码错误。

我简单改一下,我没有考虑注入漏洞,假定表里密码明文字段为password
<%
    dim sql,rs,username,userpwd
    username=request.Form("caccount")
    userpwd=request.Form("cpassword")
   
      sql="select * from T_User where username='" & username  & "' And password='" & userpwd & "'"
      set rs=server.CreateObject("adodb.recordset")
    rs.Open sql,conn,1,3   
      
    If Rs.BOF or Rs.EOF Then
        Response.Write "登录失败"    '可能是用户名错误,也可能是密码错误,总之是没有满足用户名和密码都符合的记录
        Response.End
    End If
   
    Response.Redirect "index.asp?info=登录成功"
%>
回复 支持 反对

使用道具 举报

2#
发表于 2010-1-10 02:37:01 | 只看该作者
谢谢版主啊。
那应该怎么做才不会有漏洞呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 06:42 , Processed in 0.101145 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表