2009-12-13 107 views
6

我想知道提供投票系統(或說評級)時不需要用戶登錄就涉及到哪些技術障礙。我知道機器人有問題,投票一堆 - 但如果您保留用戶的IP地址?代理成爲一個問題嗎?提供公開投票系統有什麼意義(不需要登錄)?

我想建立一個仍然可靠的公共投票系統..現在可能嗎?

編輯 正確性,即人爲驗證和每用戶一票的風險是適度的。一個全面的登錄會要求太多的用戶給他的角色(選民)

此外,如果這是「不可能」完成,你怎麼能在事後檢測投票欺詐?維基百科的模型可以在這裏工作嗎?

謝謝, 馬特·穆勒

+2

這一切都取決於某人操縱系統的動機。如果對手有興趣打破它是100美元,那麼很容易做到「可靠」,如果對手打破它的興趣是10萬美元,那麼就不那麼容易了。即使CAPCHA系統已經被堅定的團體打破了(他們沒有更好的時間):http://musicmachinery.com/2009/04/27/moot-wins-time-inc-loses/ – 2009-12-13 19:40:10

+0

不錯的鏈接,帕斯卡爾! – 2009-12-13 19:46:45

+0

哇..哈哈。可憐的時間..我正在編輯我的帖子以添加其他信息。 – Matt 2009-12-13 20:00:52

回答

8

正如你所說,你需要處理機器人的行爲。

如果你記錄一個IP地址,你將遇到通常停留在代理之後的公司用戶的問題,所以每個人似乎都有相同的IP。

也許你應該顯示一些CAPTCHA圖像來驗證人的投票。對於用戶來說不能這麼難,因爲它只能投票一次。

編輯:如何爲每個用戶強制執行一次投票?

您可以:

  • 要求一個有效的電子郵件,並把鏈接發給投票
  • 來記錄你的用戶,讓它投票
  • 讓用戶投票和保存的Cookie
  • 設用戶投票和禁止用戶IP

所有這些選項都有一個弱點,所以你永遠不會確定。

要「解決」這個問題,您可能需要將其虛擬身份與他們的虛擬身份綁定在一起。這可以通過詢問個人信息並保存它來完成。但是這帶來了一個全新的問題。

+0

CAPTCHA的好主意!所以現在你知道它不是一個機器人。你如何防止同一個用戶投票一堆呢? – Matt 2009-12-13 19:35:24

+0

Cookies! ...我的意思是一個cookie。清除它是足夠的工作,以避免大多數重複手動投票。 – Tordek 2009-12-13 19:40:56

+0

謝謝你的想法。有一件事......綁定聽起來像一個登錄。這是我試圖避免的一件事情。目標是儘可能簡化投票 - 我只是想保持它是一個合法的系統。 – Matt 2009-12-13 19:58:19

2

首先,確保投票使用POST來防止機器人和預先緩存客戶端投票。

限制IP地址會導致動態IP範圍,代理和共享連接的人員出現問題,所以我不會這樣。 大多數這些系統記住用戶使用cookie投票,但這當然很容易通過刪除cookie或僅使用不同的瀏覽器來欺騙。

+0

好的電話。關於會話呢? – Matt 2009-12-13 19:35:56

+0

會話需要將唯一值發送回服務器,無論是在cookie中還是在URL中。無論哪種方式,它都可以被刪除。 – 2009-12-13 19:51:05

+0

啊是的。好的電話理查德。 – Matt 2009-12-13 20:06:00