• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        防范多人運(yùn)用統(tǒng)一用戶上網(wǎng)與用戶非正常退出注銷問題

        防范多人運(yùn)用統(tǒng)一用戶上網(wǎng)與用戶非正常退出注銷問題

        更新時間:2022-05-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        1,不要完全靠session來控制,session會有一個失效時間,這個時間不宜設(shè)的太短,否則正常工作會受影響。用監(jiān)聽事件的方法也是不可取的,事實(shí)上這個事件也會等到session過期的時候才會觸發(fā)。
        2,可以采用隱藏楨的方式來檢測用戶的在線,這個時間可以設(shè)的比較短。比如5分鐘。就像dev-club.com一樣。在這個楨里得到用戶名,當(dāng)時的IP,以及訪問時間。記錄在application中。
        3,當(dāng)另有用戶來訪問的時候,就判斷在application的數(shù)據(jù),如果已經(jīng)有該用戶的訪問記錄,就按IP和時間來判斷,是否可以繼續(xù)。比如說IP不同,但時間隔了很久了,就允許訪問。
        4,你還可以再寫一個后臺進(jìn)程來對application中的過期數(shù)據(jù)進(jìn)行清理。
        5,對于使用代理或網(wǎng)關(guān)訪問的用戶判斷可以這樣,session對象有一個方法叫g(shù)etId(),可以得到一個唯一的ID。即使使用同一IP來訪問,這個ID也是不同的,可以加以區(qū)分。

        嗯。以上都是理論。我沒有做過。但應(yīng)該是可行的。



        原問題
        xinlcao 于 2002-12-21 11:06:09 加貼在 Java程序設(shè)計(jì) ←返回版面 
        請高手幫忙,遇到兩個問題:
        1、如何限制同一賬號在同一時間只能有一名用戶使用,即防止多人使用統(tǒng)一用戶上網(wǎng);
        2、如何在用戶直接關(guān)閉瀏覽器而不是按退出按鈕時注銷用戶。
        我不知道這兩個問題能否在b/s結(jié)構(gòu)中很好的解決,請高手指點(diǎn)。
        下面是我的想法和疑惑:
        1、可以通過cookie或session取得用戶登陸的記錄,但由于http協(xié)議的連接不連續(xù),如果兩個用戶用同一賬號上網(wǎng),只要不是同時向服務(wù)器請求,就無法知道到底是不是合用同一賬號,曾想試著同時記錄用戶上網(wǎng)時的用戶名和ip地址,只要在一定時間內(nèi)登陸的同一用戶名對應(yīng)的ip地址不同,即可認(rèn)為是合用同一賬號,但又引出兩個新的問題:(1)如果兩個用戶在網(wǎng)吧上網(wǎng)或有代理服務(wù)器的內(nèi)部網(wǎng)上網(wǎng),則獲得的ip地址也可能相同;(2)如果一個用戶撥號上網(wǎng),突然計(jì)算機(jī)死機(jī)或突然網(wǎng)絡(luò)中斷,當(dāng)他再次上網(wǎng)時,由于撥號每次ip都可能不同,系統(tǒng)將把它當(dāng)作另一個用戶處理。
        2、想過制作一個記錄用戶登陸信息的類class UserLogin,然后啟動一個線程不停的定時查看登陸用戶的信息,根據(jù)一定的規(guī)則檢查用戶的合法性,但也無法解決上面的問題。
        3、對于用戶非正常退出的注銷,曾試著用監(jiān)聽session的值來判斷:
        public class UserLogin implements HttpSessionBindingListener:聲明類時引入監(jiān)聽器
        public void valueUnbound(HttpSessionBindingEvent e):獲得session時的事件
        public void valueBound(HttpSessionBindingEvent e):獲得用戶登陸時向session寫入數(shù)據(jù)時的事件
        一個用戶登陸時好判斷,只要從e中得到當(dāng)時的session,然后從中獲得向session中寫入的變量和值,但是當(dāng)用戶由于session失效退出時,又無法判斷,因?yàn)檫@時無法知道是哪個用戶退出了,從e中獲得的session已經(jīng)是實(shí)效的了。
        先謝謝大家的幫忙!!!幫忙幫忙

        參見:http://www.dev-club.com/club/bbs/showAnnounce.asp?id=1839973

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 成人a视频片在线观看免费| 很黄很色很刺激的视频免费| 免费又黄又爽的视频| 亚洲欧美国产欧美色欲| 韩国欧洲一级毛片免费| 亚洲熟女www一区二区三区| 精品国产一区二区三区免费看| 国产精品亚洲片夜色在线| 岛国大片免费在线观看| WWW国产亚洲精品久久麻豆| 免费国产小视频在线观看| 狼色精品人妻在线视频免费| 亚洲日韩在线观看免费视频| a国产成人免费视频| 亚洲乱亚洲乱淫久久| 日本亚洲免费无线码| 亚洲日韩一中文字暮| 免费a级毛片无码a∨性按摩| 中文字幕免费在线播放| 精品日韩亚洲AV无码| 97无码免费人妻超级碰碰夜夜| 亚洲AV色欲色欲WWW| 亚洲人成网站在线观看青青| 免费无码又爽又刺激高潮软件| 亚洲综合激情六月婷婷在线观看| 黄+色+性+人免费| 亚洲aⅴ无码专区在线观看春色 | 日本三级在线观看免费| 亚洲2022国产成人精品无码区| 亚州免费一级毛片| 亚洲国产成人精品无码区花野真一| 亚洲成人影院在线观看| 午夜视频免费在线观看| 亚洲一区二区无码偷拍| 在线观看国产区亚洲一区成人| 亚洲一级免费毛片| 日韩大片在线永久免费观看网站| 亚洲v高清理论电影| 日韩高清在线免费看| 免费av一区二区三区| 亚洲精品色播一区二区|