2012-05-23 114 views
-2

可能重複:
Unique IPs in a voting system網上投票申請。如何避免重複投票來自同一用戶

我開發一個小的web應用程序需要它使用PHP爲我的大學活動的在線投票系統。我正在獲取IP地址並將其存儲在數據庫中,以防止來自同一用戶的重複投票。但後來我記得我的大學使用代理服務器,所以獲得IP地址是沒用的。 我試圖訪問和存儲客戶端使用JavaScript的Mac地址..我嘗試了一些例子,我在互聯網上找到..但他們都沒有工作。 你們可以向我推薦一種替代方法嗎?如何獲得我想要的結果?

任何形式的幫助將受到熱烈的讚賞。

問候, Aayush什雷斯塔 尼泊爾

+0

我同意。看看科林的鏈接,你應該找到你正在尋找的答案。 –

回答

1

讓他們進入他們的電子郵件地址,併發給他們的電子郵件中的鏈接,可以讓他們去投票。鏈接應該包括他們電子郵件的一些散列,你將不得不檢查他們是否已經投票。

我意識到學生可以輸入多個電子郵件地址並進行多次投票,但是學生真正擁有多少封電子郵件?那麼他們會花多少時間做這樣的事情?

我猜你沒有通過大學訪問任何類型的認證系統,所以這可能是最好的辦法。

編輯:

另一個想法是使用Facebook的身份驗證(見:http://developers.facebook.com/docs/authentication/)。缺點是你必須假設所有的選民都有Facebook帳戶。

+2

什麼是防止用戶使用多個電子郵件地址? – Andy

+0

對於無限制的免費電子郵件地址,請參閱http://www.10minutemail.com。 Facebook身份驗證(或其他第三方系統)是一個不錯的主意。 – apsillers

+0

@安好的電話 - 什麼都沒有。如果他無法進入他的學院的認證系統,就必須提供一些東西。我只是吐出一些想法,看看他認爲是什麼*最不好的* :)。就像他說的那樣,IP和MAC地址將無法工作,尤其是校園中的代理和計算機實驗室。 – lbstr

0

唯一的100%密閉的方式做這將是讓用戶創建需要一些獨特的個人信息,以防止用戶撥打多個帳戶的帳戶。

最接近沒有登錄系統的是Evercookie庫,它在用戶瀏覽器中的十幾個不同位置存儲UUID。要全部清除它們是非常困難的(即使在瀏覽器中使用隱私模式),所以如果您在投票時向用戶提供Evercookie,您可能會發現之前投票的人。

注意,這將停止機器的水平,而不是用戶級別重複投票(一臺機器可能haave多個用戶,並且用戶可以擁有多臺機器,這可能使重複投票或阻止合格選民)。

0
  1. 首先讓用戶註冊一個電子郵件地址,以便他們可以使用隨後與該地址關聯的投票系統。

  2. 一旦你有一個電子郵件地址(即驗證與發送到電子郵件中的激活鏈接),那麼你可以從用戶收集投票相關的輸入。

實在是防止重複投票的,除非你強制用戶證書沒有有效的,獨立於平臺的方式,等