登陆asp class

649 查看

复制代码 代码如下:

<!-- #include file="conn.asp" -->
<!-- #include file="cls_main.asp" -->
<!-- #include file="cls_md5.asp" -->
<% dim obj
set obj = New admin_login
    call obj.Main()
set obj = nothing

class admin_login
    Private Founderr, errmsg,Mesky
    Private Sub Class_Initialize()
        Founderr = False
        Set Mesky = New Cls_Main
    End Sub
    Private Sub Class_Terminate()
        Set Mesky = Nothing
    End Sub
    Public Sub Main()
        Response.Write "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd"">" & vbCrLf
        Response.Write "<html>" & vbCrLf
        Response.Write "<head>" & vbCrLf
        Response.Write "<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">" & vbCrLf
        Response.Write "<title>动感下载系统 V3.0 ——管理员登录        Powered By:Www.Mesky.Net      </title>" & vbCrLf
        Response.Write "</head>" & vbCrLf
        Response.Write "<style type=text/css>" & vbCrLf
        Response.Write "body {" & vbCrLf
        Response.Write "    background:#EFEFEF;" & vbCrLf
        Response.Write "    font-size: 12px;" & vbCrLf
        Response.Write "    margin-top:0px;" & vbCrLf
        Response.Write "}" & vbCrLf
        Response.Write vbCrLf
        Response.Write "INPUT {" & vbCrLf
        Response.Write vbCrLf
        Response.Write "    FONT-SIZE: 12px;" & vbCrLf
        Response.Write "    font-family: ""宋体"";" & vbCrLf
        Response.Write "}" & vbCrLf
        Response.Write "SPAN {" & vbCrLf
        Response.Write "    FONT-SIZE: 12px; POSITION: static" & vbCrLf
        Response.Write "}" & vbCrLf
        Response.Write "a:link,a:visited  {" & vbCrLf
        Response.Write "    color: #0033FF;" & vbCrLf
        Response.Write "    text-decoration: none;" & vbCrLf
        Response.Write "}" & vbCrLf
        Response.Write "</style>" & vbCrLf
        Response.Write "<p> </p>" & vbCrLf
        Response.Write "<p> </p>" & vbCrLf
        Response.Write "<table align=center width=380 style=""border: outset 3px;"" cellpadding=0 cellspacing=0 ID=""Table1"">" & vbCrLf
        Response.Write "    <tr>" & vbCrLf
        Response.Write "        <td style=""padding:3px;background-color:blue;color:white;"">Login MeskyDMS V3    Powered By:Www.Mesky.Cn</td>" & vbCrLf
        Response.Write "    </tr>" & vbCrLf
        Response.Write "    <tr valign=top>" & vbCrLf
        Response.Write "        <td><img src=""images/admin_title.gif"" width=""100%""></td>" & vbCrLf
        Response.Write "    </tr>" & vbCrLf
        Response.Write "    <tr>" & vbCrLf
        Response.Write "        <td style=""padding:15px;"">" & vbCrLf
        Dim username
        Dim password
        Dim ip
        Dim BrowserType

        
        Select Case Request("action")
            Case "chklogin"
                Call chklogin
                If Founderr Then
                    Response.Write (errmsg)
                    Response.Write ("<br><br><< = <a href=""admin_login.asp"">返回管理员登录页</a>")
                End If
            Case "logout"
                Call logout
            Case Else
                Call login
        End Select
        Response.Write "        </td>" & vbCrLf
        Response.Write "    </tr>" & vbCrLf
        Response.Write "    <tr><td style=""padding:10px;"">" & vbCrLf
        Set BrowserType = New Cls_Browser
            Response.Write ("客户端操作系统:" & BrowserType.platform & "<br>客户端浏览器: " & BrowserType.Browser & BrowserType.Version) & vbCrLf
        Set BrowserType = Nothing
        Response.Write "</td></tr>" & vbCrLf
        Response.Write "</table><br><br>" & vbCrLf
        Response.Write "</body>" & vbCrLf
        Response.Write "</html>" & vbCrLf
    End Sub
    Sub logout()    '用户退出
        Session("adminName") = ""
        Session("adminPass") = ""
        Call login
    End Sub

    Sub login() '用户登录
    On Error Resume Next
    Dim Ados, GetCode
    ' Ados = Server.CreateObject("Adodb.Stream")
    If Err Then
        GetCode = 9999
    End If
        Response.Write "<script language=""Javascript""><!--" & vbCrLf
        Response.Write "function VF_loginform(){ //v2.0" & vbCrLf
        Response.Write "<!--start_of_saved_settings-->" & vbCrLf
        Response.Write "<!--type,text,name,verifycode,required,true,isNum,errMsg,请填写右边的确认密码。-->" & vbCrLf
        Response.Write "<!--type,password,name,password,required,true,errMsg,请填写登录密码!-->" & vbCrLf
        Response.Write "<!--type,text,name,username,required,true,errMsg,请填写登录用户名!-->" & vbCrLf
        Response.Write "<!--end_of_saved_settings-->" & vbCrLf
        Response.Write "    var theForm = document.loginform;" & vbCrLf
        Response.Write "    var numRE = /^\d+$/;" & vbCrLf
        Response.Write "    var errMsg = """";" & vbCrLf
        Response.Write "    var setfocus = """";" & vbCrLf
        Response.Write vbCrLf
        Response.Write "    if (!numRE.test(theForm['verifycode'].value)){" & vbCrLf
        Response.Write "        errMsg = ""请填写右边的确认密码。"";" & vbCrLf
        Response.Write "        setfocus = ""['verifycode']"";" & vbCrLf
        Response.Write "    }" & vbCrLf
        Response.Write "    if (theForm['password'].value == """"){" & vbCrLf
        Response.Write "        errMsg = ""请填写登录密码!"";" & vbCrLf
        Response.Write "        setfocus = ""['password']"";" & vbCrLf
        Response.Write "    }" & vbCrLf
        Response.Write "    if (theForm['username'].value == """"){" & vbCrLf
        Response.Write "        errMsg = ""请填写登录用户名!"";" & vbCrLf
        Response.Write "        setfocus = ""['username']"";" & vbCrLf
        Response.Write "    }" & vbCrLf
        Response.Write "    if (errMsg != """"){" & vbCrLf
        Response.Write "        alert(errMsg);" & vbCrLf
        Response.Write "        eval(""theForm"" + setfocus + "".focus()"");" & vbCrLf
        Response.Write "    }" & vbCrLf
        Response.Write "    else theForm.submit();" & vbCrLf
        Response.Write "}//-->" & vbCrLf
        Response.Write "</script>" & vbCrLf
        Response.Write "        <table  border=""0"">" & vbCrLf
        Response.Write "        <form action=""?action=chklogin"" method=""post"" name=""loginform"" onsubmit=""VF_loginform();return false;""> " & vbCrLf
        Response.Write "          <tr>" & vbCrLf
        Response.Write "            <td><span style=""width:80px;"">用户名:</span></td>" & vbCrLf
        Response.Write "            <td><input maxlength=20 type=""text"" name=""username"" style=""width:200px;"" tabindex=""1""></td>" & vbCrLf
        Response.Write "          </tr>" & vbCrLf
        Response.Write "          <tr>" & vbCrLf
        Response.Write "            <td><span style=""width:80px;"">密 码:</span></td>" & vbCrLf
        Response.Write "            <td><input maxlength=20 type=""password"" name=""password"" style=""width:200px;""></td>" & vbCrLf
        Response.Write "          </tr>" & vbCrLf
        Response.Write "          <tr>" & vbCrLf
        Response.Write "            <td><span style=""width:80px;"">验证码:</span></td>" & vbCrLf
        Response.Write "            <td><input name=""verifycode"" type=""text"" style=""width:60px;"" value="""
        If GetCode = 9999 Then Response.Write "9999"
        Response.Write """  maxlength=4> " & vbCrLf
        Response.Write "            请在验证码框输入:<img src=""GetCode.asp""></td>" & vbCrLf
        Response.Write "          </tr>" & vbCrLf
        Response.Write "          <tr>" & vbCrLf
        Response.Write "            <td> </td>" & vbCrLf
        Response.Write "            <td align=""right""> </td>" & vbCrLf
        Response.Write "          </tr>" & vbCrLf
        Response.Write "          <tr>" & vbCrLf
        Response.Write "            <td> </td>" & vbCrLf
        Response.Write "            <td align=""right""><input type=""submit"" value=""登 录..."" name=""btnSubmit"" style=""width:80px;font:menu;"" ID=""Submit1""></td>" & vbCrLf
        Response.Write "          </tr>" & vbCrLf
        Response.Write "          </form>  " & vbCrLf
        Response.Write "        </table>" & vbCrLf

    End Sub
    '检验用户登录
    Sub chklogin()
        Dim UserName,Password,IP
        username = Trim(Replace(Request("username"), "'", ""))
        password = MD5(Trim(Replace(Request("password"), "'", "")), 16)
        If Request("verifycode") = "" Then
            errmsg = errmsg + "<br>" + "<li>请返回输入确认码。"
            Founderr = True
        ElseIf Session("getcode") = "9999" Then
            Session("getcode") = ""
        ElseIf Session("getcode") = "" Then
            errmsg = errmsg + "<br>" + "<li>请不要重复提交,如需重新登陆请返回登陆页面。"
            Founderr = True
        ElseIf CStr(Session("getcode")) <> CStr(Trim(Request("verifycode"))) Then
            errmsg = errmsg + "<br>" + "<li>您输入的确认码和系统产生的不一致,请重新输入。"
            Founderr = True
        End If
        Session("getcode") = ""
        If username = "" Or password = "" Then
            Founderr = True
            errmsg = errmsg + "<br>" + "<li>请输入您的用户名或密码。<li>"
        End If
        If Founderr Then Exit Sub
        ip = Replace(Request.ServerVariables("REMOTE_ADDR"), "'", "")
        Dim Rs

        Set Rs = Mesky.Execute("select * from Mesky_SiteManager where username='" & username & "'")
        If Rs.EOF And Rs.BOF Then
            Set Rs = Nothing
            Founderr = True
            errmsg = errmsg + "<br>" + "<li>您输入的用户名和密码不正确或者您不是系统管理员。<br><li>请<a href=admin_login.asp>重新输入</a>您的密码。"
            Exit Sub
        Else
            If Trim(Rs("password")) <> password Then
                Founderr = True
                errmsg = errmsg + "<br>" + "<li>您输入的用户名和密码不正确或者您不是系统管理员。<br><li>请<a href=admin_login.asp>重新输入</a>您的密码。"
                Set Rs = Nothing
                Exit Sub
            Else
            Session("adminName") = Rs("UserName")
            Session("adminPass") = Rs("Password")
            Session.Timeout = 45
            Mesky.Execute ("update Mesky_SiteManager set LastLogin= " & SqlNowString & ",LastLoginIP='" & ip & "',LastActive=" & SqlNowString & ",Logins=Logins+1 where username='" & username & "'")
            Set Rs = Nothing
            Call Mesky.LoadSetting()
            Response.Write "<script>location.href='" & Mesky.Setting(11) & "admin_index.asp'</script>"
            End If
        End If
    End Sub
End Class %>