2009-12-24 41 views
0

我想控制帳戶分享。用戶帳戶一次只能登錄到我的Web應用程序中。我想過檢查IP或瀏覽器類型,但似乎不夠好。如何禁止同時從多個位置登錄用戶?

什麼是最好的解決方案?

+0

因此,你會強迫我運行一個代理服務器,以便同時在我的筆記本電腦和我的桌面上登錄?爲什麼? – Omnifarious 2009-12-24 14:23:49

+0

這是一個問題..也許我應該實現一種通知方法,讓先前登錄的用戶允許第二次登錄? – virsir 2009-12-25 01:21:33

回答

0

IP地址和用戶代理字符串的組合應該足以使用戶唯一。用戶代理字符串高度可變。編輯:這假定您想讓單個用戶能夠從一個位置在多個瀏覽器選項卡/窗口中查看應用程序。是這樣嗎?單獨

0

IP地址是不夠的:

  • 多個用戶可以擁有相同的IP地址(用戶後面工作的代理,例如)
  • 一個用戶可以擁有多個IP地址(這是的情況下對AOL的用戶在幾年前,例如)

在那樣的情況,我一般用什麼基礎上的combinaison:

  • IP地址
  • 等幾個HTTP頭一樣,例如:
    • 的User-Agent (例如,它可以像 「Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7pre) Gecko/20091221 Ubuntu/9.10 (karmic) Firefox/3.5.6」 那樣複雜)
    • 接受(用於例如, 「text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 」)
    • 接受語言(例如,「 fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3」)
    • 接收字符(例如,「ISO-8859-1,utf-8;q=0.7,*;q=0.7」)

如果只對那些不同於以前的請求,我認爲還是可以的;但如果超過2或3個是不同的,這很奇怪,而且通常意味着它不是同一個用戶。

相關問題