📄 user_checklogin.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 + -