+ -
当前位置:首页 → 问答吧 → 如何实现同一用户不能同时登录网站~

如何实现同一用户不能同时登录网站~

时间:2011-11-01

来源:互联网

<!--#include file="dbconn.asp" -->
<!--#include file="md5.asp" -->
<%
Dim UserName,PassWord,TmpRs,TmpSql
Dim sort_id,user_ip

UserName=trim(request.form("User_Name"))
PassWord=trim(request.form("Pass_Word"))
PassWord=md5(PassWord)
user_ip= Request.ServerVariables("REMOTE_ADDR")

set TmpRs=server.createobject("adodb.recordset")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  TmpRs.open "Select * from [users] Where user_name='" & UserName & "'",conn,1,1
  if tmprs.bof then
  conn.close
  set conn=Nothing
  Response.Write "<script>alert(""用户名错误!"");</script>"

  response.redirect "user_login.asp?error=1"
  elseif PassWord<>tmprs("pass_word") then
  conn.close
  set conn=Nothing
  Response.Write "<script>alert(""密码错误!"");</script>"
  response.redirect "user_login.asp?error=2&username="&UserName
  else
  session("user_name")=UserName
Select Case tmprs("is_validate")
Case 1
session("validate")="666" '管理员
Case 2
session("validate")="888" '验证用户
Case 3
session("validate")="999" '荐股高手
  End Select 
session.TimeOut=90
'------------------------------------
'写入最后登录IP、最后登录时间
'------------------------------------
TmpSql="UPDATE [users] set last_login_ip='"&user_ip&"',last_login_date='"&Now()&"' where id="&tmprs("id")
conn.execute(TmpSql)
'------------------------------------
  tmprs.close
  Set TmpRs=nothing
conn.close
set conn=nothing
'response.write "Check OK"
  Response.Write("<script>alert(""用户登录成功!"");window.opener.location.href=window.opener.location.href;window.close();</script>")
response.end
  end if
response.write "未知错误"
conn.close
set conn=nothing
If trim(username)<>trim(Dvbbs.membername) Then
Response.Cookies(Dvbbs.Forum_sn)("username")=""
Response.Cookies(Dvbbs.Forum_sn)("password")=""
Response.Cookies(Dvbbs.Forum_sn)("userclass")=""
Response.Cookies(Dvbbs.Forum_sn)("userid")=""
Response.Cookies(Dvbbs.Forum_sn)("userhidden")=""
Response.Cookies(Dvbbs.Forum_sn)("usercookies")=""
Dvbbs.Execute("delete from dv_online where username='"&Dvbbs.membername&"'")
  end if

%>

作者: lihuijie523   发布时间: 2011-11-01

数据库记录时间+cookie

作者: dogfish   发布时间: 2011-11-01

 
登陆后,记录登陆时间。
用ajax刷新这个登陆时间。(比如1分钟刷新1次登陆时间。)
如果登陆时间大于1分钟,代表没有刷新,此用户没在线,才可以登陆。
正常退出,登陆时间退回到1分钟以前。

作者: cosler   发布时间: 2011-11-01

参考 图书馆借书的流程
是怎么控制一个人只能借一本书

作者: KK3K2005   发布时间: 2011-11-01

这个是单点登录问题吧,去网上搜索“单点登录”

作者: junshanhudazhaxi   发布时间: 2011-11-01