2009-02-24 189 views
0

我們有網站的文章用戶可以投票。推薦的限制投票的方法是什麼?什麼是限制我們網站投票的最佳方式?

。它有表決權實現的,我知道一些可能的解決這麼多的網站,但我想這是一種基於會話,IP地址,時間限制一些基本防彈推薦的方法等

什麼是最好的從瀏覽器發送投票的方式?基本的GET/POST或AJAX請求?是否有必要使用一些預生成的請求ID?

更新:我們不能使用用戶註冊。

+0

類似的問題在這裏:http://stackoverflow.com/questions/572723/stopping-users-voting-multiple-times-on-a-website – 2009-02-24 12:16:08

回答

0

防止重複職位的最佳方式在網友投票是僅具有簽名。這樣,您可以將他們的投票存儲在某些數據存儲(DB)中。

如果你想允許用戶匿名投票,使用瀏覽器會話。 這樣做的缺點是,他們可以關閉/重新打開瀏覽器並重新啓動。

我不會建議使用IP限制投票,因爲許多用戶可以在一個代理,所以它看起來像他們有相同的IP。如果其中一個用戶投票,其他人就不能投票了。

0

,除非你需要一些嚴重的(銀行級)認證有沒有防彈的解決方案。也就是說,基本的解決方案是使用會話(cookies)。 IP限制是一個非常糟糕的主意(例如,我與其他約20個人分享知識產權)。

0
  • 使用身份驗證的用戶
  • 不要阻塞IP
  • 如果同一個IP與不同的帳戶投票多次不要餅乾驗證票
  • 嘗試使用驗證碼

如果你想允許未經認證的用戶,那麼你一定要使用captcha來避免機器人。但我仍然認爲最好的方式是隻允許投票通過身份驗證的用戶。 你可以這樣做,比1小時/ 2小時的用戶不能投票,以避免機器人創建帳戶和投票。

2

[...] 防彈 [...]

Impossible.

通過賬戶限制將幫助 - IP地址遠遠動態和易於更換的是遠程「安全」。您當然必須限制帳戶創建,再次困難..

Stackoverflow很好(最近有關於此的博客文章,"New Question/Answer Rate Limits") - 基本上有您必須積極參與一段時間的帳戶你可以投票。然後,您的費率受限(按帳戶),直到您參加了一段時間。然後限制被刪除,所以你不會惹惱更多的活躍(更可信的)用戶。

如果您只是想防止因果關係,「意外」投票,通過cookie進行限制,並且可能還會通過IP進行限制(同時考慮到多個用戶可以在一個IP之後)。如果您想嘗試並阻止濫用,需要你不能只點擊「註冊」的帳戶(或者說,你不能寫一個「點擊註冊2000次」的腳本),儘管這並不總是可能的(或實際的)

0

最好的方法應該是user_id,一個用戶只能對每個挑戰進行一次投票,每個挑戰應該有一個唯一的ID。

  • 允許新用戶註冊。
  • 檢查用戶是否通過身份驗證。
  • 檢查用戶是否已在投票ID中投票,然後創建新投票。
相關問題