member.asp
来自「有关遗传算法的例子」· ASP 代码 · 共 158 行
ASP
158 行
<!--#include file="conn.asp" -->
<%
'//////////////////////////////////////////////////////////////
' 用户退出登陆,释放参数
' 用户名-session("username")
' 级别- session("grade")=""
' 用户ID session("userid")
'/////////////////////////////////////////////////////////////
if Rq("action")="exit" then
set rs=server.createobject("adodb.recordset")
sql="select * from 会员 where 用户名='"&session("username")&"'"
rs.open sql,conn,1,3
if not rs.EOF then
call write_userlog(session("username"),"日志","退出登陆","0","0")
rs("在线状态")="否"
rs.update
session("userid")=""
session("username")=""
session("grade")=""
end if
response.redirect request.servervariables("HTTP_REFERER")
end if
'/////////////////////////////////////////////////////////////
' 开始检测登陆
' username 用户名
' password 密码
' chkvercode 检测验证码函数
' Rq = Request 但Rq己经过sql攻击防范,缺点,用户名或密码中不能包含标点
'/////////////////////////////////////////////////////////////
if Rq("action")="login" then
chkvercode '///检测验证码
set rs=server.createobject("adodb.recordset")
sql="select * from 会员 where 用户名='"&Rq("username")&"' and 密码='"&md5(Rq("password"),32)&"'"
rs.open sql,conn,1,3
if rs.eof then
call msgbox_j ("用户名或密码错误...!","history.go(-1)")
response.end
elseif rs("在线状态")="是" and rs("级别")<>"4" and rs("上次登陆登陆IP")<>request.servervariables("remote_addr") then
'////////////////网吧用户开放多人登陆////////////
call msgbox_j ("注意:用户己在线,如果你上次没有正常退出,请["&round(DateDiff("s",now(),Application("f5_onlineuser_time")+(1/1440)*site_member_timout)/60)&"]分钟后再重试一次","history.go(-1)")
response.end
elseif rs("是否锁定")="是" then
call msgbox_j ("错误原因\n\n1、用户可能处于锁定状态 \n\n2、该会员可能暂未通过管理员认证\n","history.go(-1)")
response.end
elseif rs("级别")="4" and rs("网吧IP")<>Request.servervariables("remote_addr") then
call msgbox_j ("登陆失败\n\n此帐号只对网吧IP:"&rs("网吧IP")&"开放,\n\n你的IP:"&Request.servervariables("remote_addr")&"","history.go(-1)")
response.end
else '////////////////////////////////////////////登陆成功后执行语句
call write_userlog(Rq("username"),"日志","登陆成功","0","0")
rs("上次登陆时间")=rs("登陆时间")
rs("上次登陆登陆IP")=rs("登陆IP")
rs("登陆时间")=Now() '登陆时间
rs("在线状态")="是" '在线
rs("登陆次数")=rs("登陆次数")+1
rs("登陆IP")=request.servervariables("remote_addr")
rs("最后活动时间")=now()
session("userid")=rs("id")
session("username")=rs("用户名")
session("grade")=rs("级别")
rs.update
rs.close
response.redirect request.servervariables("HTTP_REFERER")
end if
end if
'/////////////////////////////////////////////////////////////
' 会员注册模块
' username 用户名
' password 密码
' chkvercode 检测验证码函数
' Rq = Request 但Rq己经过sql攻击防范,缺点,用户名或密码中不能包含标点
'/////////////////////////////////////////////////////////////
if Rq("action")="reg" then
'//检测当次开启窗口有无注册过
if session("Rereg")<>"" then
call msgbox_j("请节约网络资源,勿重复注册,谢谢","history.go(-1)")
Response.end
end if
'//检测网站有无开启注册
if site_memberreg="关闭" then
call msgbox_j(site_memclosemsg,"history.go(-1)")
Response.end
end if
chkvercode '///检测验证码
set rs=server.createobject("adodb.recordset")
sql="select * from 会员 where 用户名='"&Rq("username")&"'"
rs.open sql,conn,1,3
if rs.eof then
rs.addnew
rs("用户名")=Rq("username")
rs("密码")=md5(Rq("password"),32)
rs("注册IP")=Request.ServerVariables("REMOTE_ADDR")
rs("注册时间")=now()
rs("观看数量")="0"
rs("下载数量")="0"
rs("登陆次数")=1
rs("最后活动时间")=now()
rs("认证")="是"
rs("级别")="0"
rs("点数")="0"
rs("失败登陆次数")=0
rs("上次登陆时间")="首次登陆"
if site_reg_ver="是" then
rs("是否锁定")="是"
else
rs("是否锁定")="否"
rs("在线状态")="是"
rs("登陆IP")=Request.ServerVariables("REMOTE_ADDR")
rs("登陆时间")=now()
end if
rs.update
if site_reg_ver="是" then
call msgbox_j("注册成功,请等待管理员通过认证","history.go(-1)")
else
call msgbox_j("注册成功,并己自动登陆,恭喜你成为本站第["&rs("id")&"]个注册用户","history.go(-1)")
session("userid")=rs("id")
session("username")=rs("用户名")
session("grade")=rs("级别")
end if
call write_userlog(session("username"),"日志","用户注册成功","0","0")
session("Rereg")=True
else
call msgbox_j("用户名己存在,请更换","history.go(-1)")
end if
end if
'/////////////////////////////////////////////////////////////
' 取回密码模块 ?action=getpass
' username 用户名
'/////////////////////////////////////////////////////////////
if Rq("action")="getpass" then
set rs=server.createobject("adodb.recordset")
sql="select id,用户名,邮箱,曾用密码,密码 from 会员 where 用户名='"&Rq("username")&"'"
rs.open sql,conn,1,3
if not rs.eof then
if isnull(rs("问题")) then
call msgbox_j("取回失败,用户没有填写密码提示问题\n请联系管理员处理","history.go(-1)")
Response.end
else '执行取回操作
call msgbox_j("开发中","history.go(-1)")
Response.end
end if
else
call msgbox_j("用户不存在","history.go(-1)")
Response.end
end if
end if
connclose
%>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?