注册 登录
编程论坛 ASP技术论坛

2008年第一贴!发个【ASP用户登录及管理系统】给大家!

xmuer 发布于 2008-02-24 14:37, 5733 次点击
只有本站会员才能查看附件,请 登录

具备ASP用户登录及管理系统基本功能,是建设小型站点很好的后台源码参考!适合ASP进阶人士哦~~
超级管理员admin:
1.系统登录与退出
2.自身资料修改
3.添加普通用户和管理员
4.删除普通用户和管理员
5.用户级别管理
管理员能够实现一下功能:
1.系统登录与退出
2.自身资料修改
3.添加普通用户
4.普通用户资料修改
5.删除普通用户
普通用户实现的功能
1.系统的登录与退出
2.自身资料修改
26 回复
#2
xmuer2008-02-24 14:38
自己顶一个先
#3
dhdhzzw2008-02-25 10:06
先谢谢,看看
#4
hmx20052008-02-25 23:56
帐号:'or'
密码:'or'
结果,我登进去了,获取的帐号密码竟然没进行处理,而且数据库第一个帐户正好是超级管理员,其他的我没看[bc08]
#5
lele20072008-02-26 00:04
非常感谢!学习了!
#6
yuxin13822008-02-26 09:27
不错不错哦,谢谢。。
#7
吥再留唸2008-02-26 12:10
学习学习
#8
xmuer2008-02-26 18:17
回复 4# 的帖子
<%
    '去除表单数据中的空格
    UserName = Trim (Request.Form("name"))
    UserPass = Trim (Request.Form("passwd"))
  
    '用户名、密码、验证码都必须填写
    If (UserName="" Or UserPass="") Then
        Response.Redirect "login.asp?ErrMsg=请完整填写登陆表格"
        Response.End()
    End If
    
    Dim objConn, strSQL, objRS
    
    '建立与数据库的连接
    DB="./database/Member.mdb"
    Set objConn = Server.CreateObject("ADODB.Connection")                                                  
    objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
    objConn.Open
    
    '检索数据库中是否存在相关记录
    strSQL = "SELECT * FROM MEMBER WHERE NAME='" & UserName & "'"
    strSQL = strSQL & " AND PASSWORD = '" & UserPass & "'"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open strSQL, objConn, 1, 3, 1
    
    '检索结果为空,表明用户名或者密码错误
    If objRS.EOF Then
        Response.Redirect "login.asp?ErrMsg=用户名或密码错误"
        Response.End()
    Else
        '检索记录集不为空,说明用户名和密码输入正确
        Session("Id") = CStr(objRS.Fields("ID"))
        Session("Name") = UserName
        Session("Class") = objRS.Fields("CLASS")
        Session("IsPassed")=True
        '检查用户的级别
        If objRS.Fields("CLASS") = "1" Or objRS.Fields("CLASS") = "2" Then
            '该登陆用户为管理员
            Session("IsAdmin") = True
        Else
            '该登陆用户为普通用户
            Session("IsAdmin") = False
        End If
        
        '如果用户选择记住帐号和密码,则将其写入cookies
        If Request.Form("RemMe") = "1" Then
            Response.Cookies("Name") = UserName
            Response.Cookies("Password") = UserPass
            Response.Cookies("RemMe") = "1"
            Response.Cookies("Name").expires = Date + 365
            Response.Cookies("Password").expires = Date + 365
            Response.Cookies("RemMe").expires = Date + 365
        End If
    End If
    
    '关闭记录集和数据库连接
    objRS.Close             
    Set objRS = Nothing
    objConn.Close          
    Set objConn = Nothing
 
    '转向系统主页面
    Response.Redirect "index.asp"
    Response.End()
%>

额 。。这个~~输入“or”?
#9
daiyuan52102008-02-26 18:33
晕啊........'or'
可以登入啊.............................
#10
hmx20052008-02-27 00:23
回复 8# 的帖子
在登陆用'or',就进去了。你没有对帐号密码进行处理就判断了,整个查询语句就变成
SELECT * FROM MEMBER WHERE NAME=''or''AND PASSWORD = ''or'' 了,应该处理一下,比如去掉单引号和双引号,一般情况下是把单引号和双引号变成HTML语言显示单引号和双引号的代码去,不过正常用户注册不容许使用特殊符号,可以直接删掉,例:
         user=replace(request("user"),chr(39),"")
    user=replace(user,chr(34),"")
    pass=replace(request("pass"),chr(39),"")
    pass=replace(pass,chr(34),"")
#11
fujiangyun2008-02-27 16:00
回复
不错~
#12
LittleMerry2008-03-21 16:23
谢谢 我正好需要
#13
viq8862008-03-22 12:47
可以转SQL
可以转SQL吗?
#14
kek2008-03-23 14:00
看看先
#15
gdk20062008-03-24 09:20
[bo]以下是引用 [un]hmx2005[/un] 在 2008-2-27 00:23 的发言:[/bo]

在登陆用'or',就进去了。你没有对帐号密码进行处理就判断了,整个查询语句就变成
SELECT * FROM MEMBER WHERE NAME=''or''AND PASSWORD = ''or'' 了,应该处理一下,比如去掉单引号和双引号,一般情况下是把单引号和双引号变 ...


这位兄弟说得对,建议您用MD5加密,或者先判断用户名在判断密码!
#16
a485676532008-03-24 11:40
[or]数据库操作要这么写把
#17
kevin07432008-03-24 16:06
学习了...看着各位讨论的都可以学到很多知识...

谢谢了...
#18
xinlvchwen862008-04-01 21:11
zhichi
坚决支持
#19
闫温学2008-04-02 07:52
多谢了
#20
闫温学2008-04-02 08:21
不是的,
#21
lq73506842008-04-02 11:41
我收藏了,那个用'or'可以登陆的确实是个漏洞。
#22
fuhuijun2008-04-02 13:31
下了看看
鼎了
#23
baiwbj2008-04-04 21:15
呵呵不错,楼主加油!呵呵,那个验证码太假了..呵呵!
#24
seeme2008-04-17 22:05
谢谢 我正好需要
#25
w1362908542008-10-18 15:35
非常好啊 道谢了
#26
coffecat11192008-10-19 09:21
感谢分享
谢谢
#27
leaf07172009-08-20 08:41
学习中........
1