六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

asp防范一起登陸的問題

[摘要]實現這個功能可有兩種方式: 1。application 用application對象:如果做的是大型社區,可能要為每個登陸id生成一個appliaction,這樣做雖然程序上設計會簡單些但登陸用戶過多及其耗費服務器資源,這里決不提倡,因為appliaction對象在用戶登陸時生成很容易, 但是要做...

實現這個功能可有兩種方式:

1。application
用application對象:如果做的是大型社區,可能要為每個登陸id生成一個appliaction,這樣做雖然程序上設計會簡單些但登陸用戶過多及其耗費服務器資源,這里決不提倡,因為appliaction對象在用戶登陸時生成很容易, 但是要做到真正的隨著用戶退出系統完全釋放,到目前還沒看到更好的方法~

<%  
.....取用戶名username.....  
if  Application(username)<>""  then  
     response.write  "該用戶已經登錄"  
     response.end  
end  if  
Application(username)=username  ''存入該用戶的用戶名
%>

在global文件中加上session  onend事件,下線時Application("isuserlogin")=false  
此外還要檢測是否吊線,有專門的辦法,是server對象里的某項  

(參: http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=815)

2。數據庫+asp
做起來可能會復雜些,但是適合有大量登陸用戶的系統。

首先為用戶建立數據庫-用access新建一個onlyTOL8.mdb

數據表1: users 存放用戶注冊資料
下設數據表:uID(自動編號) userName(字符型) userPass(字符型)

數據表2: onlyLogin 存放用戶臨時登陸信息
下設數據表: OLname(字符型) OLtime(日期型) OLip(字符型)

數據庫建好后直接向users表中手動添加數據 userName表添加TOL8,userPass表里添加111,

下面來做用戶登陸界面,復制下面代碼存成onlyLogin.asp文件。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>禁止同一賬號不同地區同時登陸</title>
</head>
<body>
<form name="form1" method="post" action="loginPost.asp">
用戶名:<input name="userName" type="text" id="userName" size="15" maxlength="5">
密碼:<input name="userPass" type="password" id="userPass" size="15" maxlength="15">
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>


完成后在新建一個loginCONN.asp文件復制下面的代碼保存用于連接數據庫

<%
Dim CONN_TOL8
Dim Conn_T
Dim mmdd
mmdd="onlyTOL8.mdb"
Set CONN_TOL8 = Server.CreateObject("ADODB.Connection")
Conn_T="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&mmdd&"")
on error resume next
CONN_TOL8.Open Conn_T %>


下面做一個loginPost.asp文件也存在這個目錄下,這是關鍵,仔細看下面的代碼:

<!--#include file="loginCONN.asp" -->
<%
''刪除maxTime時間內部活動的用戶,maxTime 在loginCONN.asp文件里面已經定義好了
Conn_TOL8.Execute("Delete From onlyLogin where DATEDIFF(''s'',OLtime, now()) > "& maxTime & "")
''================================================================
Dim rs, ts, txt, sql, userName, userPass
if Request.Form("Submit")="Login" then
userName=Request.Form("userName")''獲取表單用戶登陸名
userPass=Request.Form("userPass")''獲取表單用戶登陸密碼
''由于我們這里討論的不是安全問題所以用戶密碼都沒有加密
Set rs = Server.CreateObject("ADODB.RECORDSET")
sql="SELECT * FROM users where userName = '' "& userName & "'' and userPass = '' "& userPass & "''"
rs.Open sql, CONN_TOL8,1,1
IF not rs.eof then
Call isOK(userName) '' 用戶名密碼正確調用次過程,isOK將會在下面的程序中定制。
else
Response.Write("<a href=javascript:history.go(-1)>用戶名或密碼錯誤</a>")
Response.End()
end if
rs.Close
Set rs=Nothing
end if
Sub isOK(userName)
Dim Olip '' 數據庫中當前登陸用戶名保存的ip
Dim Oltime '' 數據庫中當前登陸用戶名保存的最后刷新網頁的時間,是計算用戶是否在線的重要數據。
Dim OLip1 '' 記錄當前用戶登陸ip,用來區分是否為同一用戶的標示
OLip1=Request.ServerVariables("REMOTE_ADDR")''取得提交登陸信息用戶的IP
Set ts=Conn_TOL8.execute("Select * FROM onlyLogin WHERE OLname=''"& userName & "''")
if not ts.eof then '' 查詢數據庫是否有此用戶的登陸過的信息
OLtime=ts("OLtime")
OLip=ts("OLip")
if OLip1<>OLip and DateDiff("s",OLtime,now()) < maxTime then
''上句判斷如果提交登陸用戶ip不是數據庫中最后紀錄的用戶ip并且
''用戶的最后活動時間和當前時間相隔并沒超過規定的秒數則確認此用戶當前在線
Response.Write "<a href=javascript:history.go(-1)>此用戶目前在線,你無法從其他地方登陸此賬號!</a>"
Response.End()
else
''否則的話判定登陸成功付值給session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
else
''如果數據庫沒有次登陸用戶紀錄則執行下面的語句
Dim ls
Set ls=Server.CreateObject("ADODB.RECORDSET")
ls.Open"Select * From onlyLogin",CONN_TOL8,2,2
ls.ADDNEW
ls("OLname")=userName
ls("OLip")=OLip1
ls("OLtime")=NOW()
ls.UPDATE
ls.Close
Set ls=Nothing
''判定登陸成功付值給session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
End Sub %>


登陸成功后葉面會跳轉到loginOK.asp

<style type="text/css">
<!--
body {background-color: #FF9900;}
-->
</style>
<% IF Session("lgName")<>"" then %>
您登陸成功了!!!下面是潛入網頁內的iframe為的是在規定的時間刷新網頁向服務器報告你是否在線
為了便于區分,frame網頁我們采用了白色作為底色
<iframe border=0 name=new_date marginwidth=0 framespacing=0 marginheight=0 src="loginFrame.asp"
frameborder=0 noResize width=100 scrolling=no height=30 vspale="0"></iframe>
<% else %>
您沒有登陸哈
<% end if %>


下面要做的是loginFrame.asp

<!--#include file="loginCONN.ASP" -->
<% CONN_TOL8.Execute("Update onlyLogin Set OLtime=''"& NOW() & "'' where OLname = '' "& Session("lgName") & "''") %>
<html><head><meta http-equiv="refresh" content="<%=(maxTime-5)%>; url=""></head></html>


到此為止程序就完成了,這個程序的關鍵就是判定用戶是否在線


主站蜘蛛池模板: 素人啪啪| 一级毛片免费视频 | 午夜小视频男女在线观看 | 亚洲综合a| 污视频在线 | 永久网站| 亚洲成aⅴ人片在线观 | 亚洲天天综合网 | 深夜福利成人 | 天天色天天摸 | 四虎影视免费看 | 亚洲不卡中文字幕 | 欧美亚洲一级片 | 最近日本韩国观看 | 五月婷婷丁香花 | 日日做夜夜做 | 日本草草视频在线观看 | 亚洲人视频在线 | 日韩国产在线 | 图片专区亚洲欧美另类 | 亚洲人成在线播放网站岛国 | 亚洲毛片免费视频 | 在线免费视频a | 色伊人国产高清在线 | 人人搞人人爱 | 青青草国产97免久久费观看 | 日本在线观 | 妖精视频亚洲 | 三级在线经典三级 | 天堂影院在线观看mv | 色综合天天综合高清影视 | 午夜啪啪免费视频 | 午夜私人影院粉色视频我要 | 日韩欧美三级在线 | 全部毛片 | 亚洲黄色成人 | 在线观看精品自拍视频 | 自偷自拍亚洲综合精品 | 中文学幕专区 | 四虎影视库国产精品一区 | 亚洲国产精品日韩专区avtube |