📄 userpass.asp
字号:
<!--#include file="articleconn.asp"-->
<!--#include file="checkpost.asp"-->
<!--#include file="MD5/md5.asp"-->
<%function makePassword(byVal maxLen)
Dim strNewPass
Dim whatsNext, upper, lower, intCounter
Randomize
For intCounter = 1 To maxLen
whatsNext = Int((1 - 0 + 1) * Rnd + 0)
If whatsNext = 0 Then
'“character
upper = 90
lower = 65
Else
upper = 57
lower = 48
End If
strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd + lower))
Next
makePassword = strNewPass
end function
%>
<%
dim rs
dim sql
sql="select time from home"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
maxtime=rs("time")
userid=replace(trim(request("userid")), "'", "''")
password=replace(trim(Request("password")), "'", "''")
password=md5(password)
if len(userid)>12 then
response.write"<script>alert('用户名过长!');history.back();</Script>"
end if
sql="select * from users where userid='"&userid&"'and password='"&password&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if rs.bof and rs.eof then
response.write"<script>alert('密码错误!如果是手机用户,请过两个小时再登陆,帐号正在建立中!');history.back();</Script>"
response.end
end if
Dim userip ' 数据库中当前登陆用户名保存的ip
Dim lastime ' 数据库中当前登陆用户名保存的最后刷新网页的时间,是计算用户是否在线的重要数据。
Dim userip1 ' 记录当前用户登陆ip,用来区分是否为同一用户的标示
userip1=Request.ServerVariables("REMOTE_ADDR")'取得提交登陆信息用户的IP
Set ts=Conn.execute("Select * FROM online WHERE username='"& userid & "'")
if not ts.eof then ' 查询数据库是否有此用户的登陆过的信息
lastime=ts("lastime")
userip=ts("userip")
else
'如果数据库没有次登陆用户纪录则执行下面的语句
Dim ls
if rs("oklook")=0 then
oklook="电影游客"
elseif rs("oklook")=1 then
oklook="计点会员"
elseif rs("oklook")=2 then
oklook="包月会员"
elseif rs("oklook")=3 then
oklook="包季会员"
elseif rs("oklook")=4 then
oklook="包年会员"
elseif rs("oklook")=5 then
oklook="终生会员"
end if
Set ls=Server.CreateObject("ADODB.RECORDSET")
ls.Open"Select * From online",CONN,2,2
ls.ADDNEW
ls("username")=userid
ls("userip")=userip1
ls("lastime")=now()
ls("grad")=oklook
ls("times")=rs("nos")
ls("name")=rs("name")
ls.UPDATE
ls.Close
Set ls=Nothing
end if
if userip<>userip1 and DateDiff("s",Lastime,now()) < maxTime*60 then
'上句判断如果提交登陆用户ip不是数据库中最后纪录的用户ip并且
'用户的最后活动时间和当前时间相隔并没超过规定的秒数则确认此用户当前在线
response.write"<script>alert('该用户已经登陆,不接受!');</Script>"
response.write"<script Language=Javascript>location.href = 'wantlogin.asp';</script>"
response.end
else
id=rs("ID")
dim radpass
radpass=makePassword(6)
' userip=Request.ServerVariables("REMOTE_ADDR")
conn.Execute("update users set nos=nos+1, login='"&radpass&"' where id="&id)
response.cookies("userid")=rs("userid")
response.cookies("password")=rs("password")
'response.cookies("userip")=userip
response.cookies("login")=radpass
response.cookies("okerer")="yesok"
'application(""&userid&"")="yes"
response.cookies("myter")="yes"
response.cookies("userid").expires=now()+5
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
response.redirect Request.ServerVariables("HTTP_REFERER")
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>登录页面</title>
</head>
<body>
</body>
</html>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -