2011-02-10 20 views
1

我有一些關於它的想法,但非常基本和不完整。我想知道檢查相同的PC/IP是否與兩個不同的用戶一起記錄並運行我的網站的兩個實例的最佳方法是什麼?最好的方法來檢查用戶是否有兩個網站運行的實例

+2

沒有確定的辦法來做到這一點,因爲多臺PC可能在路由器後面。你需要做什麼? – 2011-02-10 14:42:46

+0

嗯,我只是想知道,這不像是某種嚴重的威脅,只是善於對它進行一些基本的保護。 – sed 2011-02-10 14:44:37

+0

有沒有可能的方法來檢測「相同」的個人電腦。 – zerkms 2011-02-10 14:44:49

回答

2

如果兩個用戶具有相同的IP,他們要麼

  • 在同一個家庭,辦公室或公司,在同一個網吧
  • 共享Internet連接
  • 在同一臺計算機

這是儘可能的,你可以得到。可靠地檢測兩個會話是否在同一個計算機幾乎不可能,因爲沒有可以幫助您分辨的指標。

如果你想打架欺詐,你將需要使用不同的方法。

0

您可以檢查IP地址,用戶代理,時區,激活插件... 爲了避免多個用戶在同一臺​​計算機登錄後,您可以設置Cookie或傳輸的每一個環節上的會話密鑰。 (你必須將哈希與ip-address組合起來的用戶信息 - 因爲複製該鏈接不應該將其他用戶登錄到該哈希所屬的帳戶中)

1

第一個,讓服務器發送一個唯一的標記(例如csrf token),當頁面加載並且每次用戶交互時。然後,讓每個用戶交互(發佈或請求)包含此令牌(並生成一個新令牌)。

當你收到來自同一IP地址意外的令牌,你申請一個招:加mousevent時間戳請求和log(到毫秒)的本地服務器之間的時間差(以下DT)時間和令牌附帶的時間戳,延遲時間的變化具有一定的誤差容限。

如果兩個實例在同一臺計算機上運行,​​則dt對於這兩個唯一標記(在最近的交互或頁面加載期間生成)都是相等的。

在另一臺物理計算機上,dt與在同一IP地址上的另一臺PC上相同(即使在誤差範圍內)的機會非常小,因此您擁有一種有效的測試方式。

相關問題