我想從我的訪問ColdFusion應用程序不止一次在同一時間阻止用戶。阻止用戶在網站上
我有dtlogin,請dtLogLastUpdate,IP和isLogged SQL表。
邏輯是:
會話超時時間爲1小時。
當用戶登錄時,
- 組的Dtlogin =郵戳現在
- dtLogLastUpdate =郵戳現在
- IP =用戶IP
- isLogged = 1
我使用每1分鐘更新一次AJAX呼叫更新dtLogLastUpdate
。
當我得到用戶的登錄請求時,只允許它在isLogged
爲0或dtLogLastUpdate
超過我的會話超時。
如何管理,當用戶關閉瀏覽器,但之前不註銷?他們需要等到會話超時嗎?
我會考慮使用onSessionEnd以自動方式記錄人員。這將處理關閉瀏覽器的人員。另外,如果瀏覽器關閉,則DtLogLastUpdated將爲x分鐘。如果瀏覽器已打開並正在進行ajax調用,則會話將保持活動狀態,並使dtLogLastUpdated保持最新狀態。您可能還想要搜索「coldfusion誰在線」應用程序。那裏有一個可能提供代碼樣本的舊版本。 – steve 2013-03-06 21:19:00
也許你可以註銷'舊用戶'並允許'新用戶'登錄。 – 2013-03-06 21:19:44
你不能比較'dtLogLastUpdate'到當前時間嗎?如果它在一分鐘內還沒有ping通,我認爲你可以假設他們關閉了他們的標籤 – 2013-03-06 21:19:44