⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user_checklogin.asp

📁 依蓝旅游网站管理系统Elan2008.SP2
💻 ASP
字号:
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
%>
<!--#Include File="../Conn.asp"-->
<!--#Include File="../Inc/Const.asp"-->
<!--#Include File="../Inc/MD5.asp"-->
<%

Dim GURL

GURL = Trim(Request.Form("url"))
If GURL = "" Then GURL =Trim(Request.QueryString("url"))
If GURL = "" Then GURL = InstallDir

Select Case Action
   Case "Logout": Call UserLogout()
   Case Else: Call CheckUserLogin()
End Select
Call ApplicationTerminate()

Sub UserLogout()   
   EL_User.ErrorCode = 9999
   Call EL_User.UserLogout()
   Response.Redirect FormatURL(GURL)
End Sub

Sub CheckUserLogin()
   On Error Resume Next
   If EL_User.UserIsLogin = True Then Response.Redirect FormatURL(GURL)
   Dim CheckLoginCmd
   Dim UserID, UserName, Password, CheckCode, Passed, RndPassword
   
   UserName = EL_Common.ELRequest("UserName", 1)
   Password = EL_Common.ELRequest("Password", 1)
   CheckCode = UCase(EL_Common.ELRequest("CheckCode", 1))
   
   If ComeURL = "" Then
      EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.ComeURLError1", "禁止直接输入地址访问该页面"))
	  Exit Sub
   Else
      Dim Current_URL
      Current_URL = "http://"& Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
      If EL_Common.CheckComefrom(ComeURL, Current_URL) = False Then
         EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.ComeURLError", "禁止从本站外部提交数据"))
		 Exit Sub
      End If
   End If
   
   If CheckCode <> Session("CheckCode") Or CheckCode ="" Then
      EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.CheckCodeError", "验证码错误"))
	  Exit Sub
   End If
   Password = MD5(Password, 32)
   RndPassword = GetRndPassword(32)
   
   Call EL_Common.InitCommand(CheckLoginCmd, "EL_SP_CheckUserLogin")
   With CheckLoginCmd
      .Parameters.Append .CreateParameter("RETURN", 2, 4)
	  .Parameters.Append .CreateParameter("@CheckType", 3, 1, 4, 2)
	  .Parameters.Append .CreateParameter("@UserName", 200, 1, 50, UserName)
	  .Parameters.Append .CreateParameter("@Password", 200, 1, 32, Password)
	  .Parameters.Append .CreateParameter("@RndPassword", 200, 1, 32, RndPassword)
	  .Parameters.Append .CreateParameter("@RemoteIp", 200, 1, 15, RemoteIp)
	  .Parameters.Append .CreateParameter("@UserID", 3, 2, 4)
	  .Execute()
   End With
   
   Passed = CheckLoginCmd(0)
   UserID = CheckLoginCmd(6)   
   Set CheckLoginCmd = Nothing
   Select Case Passed
      Case 0: EL_Common.ShowErrorMsg(EL_Common.Lang("User.Error11", "用户名或密码错误")) : Exit Sub
	  Case 40: EL_Common.ShowErrorMsg(EL_Common.Lang("User.Error12", "您的帐号还没有通过邮件验证,请到您注册的邮箱中进行确认验证")) : Exit Sub
	  Case 41: EL_Common.ShowErrorMsg(EL_Common.Lang("User.Error13", "您的帐号还没有通过管理员的验证,请等待管理员验证……")) : Exit Sub
   End Select
   
   
   Response.Cookies("User_"& EL_Sn)("UserID") = UserID
   Response.Cookies("User_"& EL_Sn)("UserName") = UserName
   Response.Cookies("User_"& EL_Sn)("UserPassword") = Password
   Response.Cookies("User_"& EL_Sn)("UserRndPassword") = RndPassword
   
   EL_Common.ShowScriptError()
   
   Response.Redirect FormatURL(GURL)
   
End Sub

Function FormatURL(ByVal URL)
   Dim ScriptName, Parameters, i, arr, arr2   
   URL = EL_Common.URLDecode(URL)
   If Instr(URL, "?") = 0 Then 
      FormatURL = URL
	  Exit Function
   End If
   ScriptName = Left(GURL, Instr(GURL, "?"))
   If ScriptName = URL Then
      FormatURL = Left(ScriptName, Len(ScriptName)-1)
	  Exit Function
   End If
   FormatURL = ScriptName
   Parameters = Right(URL, Len(URL)-Len(ScriptName))
   arr = Split(Parameters, "&")
   For i = 0 To Ubound(arr)
      arr2 = Split(arr(i), "=")
      FormatURL = FormatURL & arr2(0) &"="& EL_Common.ServerURLEncode(arr2(1)) &"&"
   Next
   FormatURL = Left(FormatURL, Len(FormatURL)-1)
End Function


Function GetRndPassword(PasswordLen)
    Dim Ran, i, strPassword
    strPassword = ""
    For i = 1 To PasswordLen
        Randomize
        Ran = CInt(Rnd * 2)
        Randomize
        If Ran = 0 Then
            Ran = CInt(Rnd * 25) + 97
            strPassword = strPassword & UCase(Chr(Ran))
        ElseIf Ran = 1 Then
            Ran = CInt(Rnd * 9)
            strPassword = strPassword & Ran
        ElseIf Ran = 2 Then
            Ran = CInt(Rnd * 25) + 97
            strPassword = strPassword & Chr(Ran)
        End If
    Next
    GetRndPassword = strPassword
End Function
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -