我正在開發將主持網絡直播的網站的用戶管理部分。目標是防止同時使用相同的用戶名(電子郵件地址)。也就是說,我們不希望兩個人使用一個登錄來查看事件。如何防止PHP/MySQL網站中的併發用戶登錄?
我已經設置了一個表,其中包含用戶註冊數據,其中的REGID作爲主鍵。我的想法是創建一個以用戶名爲主鍵的登錄歷史表,在註冊表中用戶名的外鍵。登錄歷史記錄表只會在用戶登錄到網站時顯示時間戳。但是,這並不能實現我阻止多個人使用相同登錄名的目標。
相反,在登錄歷史記錄或用戶表中設置登錄狀態字段1,登錄狀態字段設置爲1,登出狀態字段爲0會更好嗎?它需要一個存儲過程來更新登錄和註銷時的值,並且需要在用戶登錄時驗證,以便登錄狀態= 1時,用戶已登錄並且不能再次登錄。這是一種可行的方法嗎?
請分享您使用過的其他方法,以防止多人共享相同的登錄憑證。
感謝, 希德
將「cookie」替換爲「會話」,這樣可以很好地工作。只要確保在每個請求上針對數據庫檢查會話值,並在用戶再次登錄時始終重置該值。兩個試圖查看該頁面的用戶將不斷記錄彼此。 – Charles 2010-07-25 20:01:08
是的,很好的電話,更新後的帖子閱讀「會議」。 – MrWhite 2010-07-25 20:16:32
我喜歡你的方法。唯一需要注意的是,第二個用戶在嘗試使用已經在使用的登錄名時會收到一條消息,指出用戶標識已經登錄,或者出現這種情況。我們希望確保觀看網絡直播的每個人都擁有自己的登錄憑證。謝謝:) – SidC 2010-07-25 20:25:05