2012-02-26 51 views
-1

我想跟蹤用戶,使他們不以投票方式行使表決權的兩倍。我不想使用IP地址,因爲我創建的應用程序針對的是校園,因爲無線網絡使用NAT,所以許多人將擁有相同的IP地址。另外,我不想使用Cookie或會話ID,因爲這些可以很容易地刪除。如何跟蹤PHP中的唯一用戶? (投票不止一次阻止用戶)(請在閱讀併發症細節)

我該怎麼做?或者我運氣不好?

我看這個問題:How to identify unique user?。有一些答案表明,瀏覽器指紋識別可能是Urban Dictionary防止多個投票的一種方式。我怎麼做到這一點?

編輯:有一件事我當然不能在此應用已經是用戶登錄。它擊敗了應用程序的目的。

+0

要做到這一點的唯一方法是實現一個用戶系統,只有登錄用戶可以投票 – 2012-02-26 14:01:39

+0

可能的重複[如何識別唯一用戶?](http://stackoverflow.com/questions/2495749/how-to- identify-unique-user) – 2012-02-26 14:01:39

+0

而你如何阻止用戶創建多個帳戶?或者在他們的電腦上安裝多個瀏覽器?或有多臺電腦?我能看到的唯一方法是隻允許從物理上安全的站點進行輪詢,然後進行某種指紋/照片編號/或者可能的DNA測試。 – Cerad 2012-02-26 14:36:17

回答

2

我要去承擔瀏覽器指紋閱讀是用戶代理字符串,這是不可靠的,用戶代理字符串可以在大多數瀏覽器來改變這些天。

如果你想唯一標識一個用戶,那麼只允許登錄用戶進行投票,並且如果它只針對校園,那麼所有學生都會有一個電子郵件地址,即[email protected]。英國或任何你的域名。

0

個別技術可能不是足夠強大,但相結合,他們可能是非常有用的。 例如,你可以說:

如果IP是相同的,瀏覽器是相同的,操作系統是一樣的 OR 餅乾存在

然後禁止投票。顯然,還有更多的技術可以與此結合使用(比如瀏覽器指紋識別)。

另一種選擇是簡單地要求用戶登錄才能投票,並確保每個人都有一個不同的電子郵件地址。

+0

不知道爲什麼這是downvoted,這是一個合理的解決方案。 – rorymorris89 2017-01-20 15:22:36