2009-06-25 45 views

回答

8

要限制每個人的投票數,您需要跟蹤該人。

現在可以有幾種方法來做到這一點,我會列出他們的優點和缺點。它讓你決定哪種方法最適合你。

  1. 登錄:這將爲您提供最終控制。但它對用戶來說也有點麻煩。 其最後的首選項
  2. IP:您將如何處理Web代理人背後的人?那些撥號連接和/或動態IP的人呢?
  3. cookies:這對於短期投票很有用,因此您可以將cookies的到期時間設置爲投票結束的時間。但是,一個潛在的缺點是用戶(與luser對比)將知道如何刪除cookie!
  4. openId:雖然此方法與「登錄」方法沒有太大差別,但這可以使用戶免於註冊(這實際上是登錄的最重要部分)。

編輯:這種情況的問題是,你需要解決用戶的身份。我認爲OpenID這是否相當不錯。

乾杯,

jrh。

+0

謝謝..我已經想到了這些解決方案,你是正確的,他們每個人都有其優點和缺點...有沒有其他方式可以想到? – jingleboy99 2009-06-25 06:39:15

2

您可以隨時在其計算機上存儲cookie。但是請注意,用戶可以輕鬆地禁用cookie或修改cookie的內容。沒有100%可靠的方法來做你想做的事 - 用戶可以隨時創建一個新的帳戶,或移動到另一臺計算機等。

如果你想要使用cookie的方法,但有三可能性。

  1. 可以存儲一些文字說這句話的人已經投票
  2. 可以存儲一個唯一的ID引用他們的投票
  3. 可以存儲會話cookie和其他數據存儲在服務器上(可能更安全,因爲他們不能編輯數據,只有會話ID,並且這樣做可能會使其無效)。
0

最安全的方式是登錄系統。

但是,如果你不想使用一個,我用來添加一個包含用戶IP和瀏覽器女巫的哈希將幫助我過濾到一個更好的程度,然後只是簡單的IP(瀏覽器字符串可能會因不同的人使用相同的瀏覽器,因爲安裝了版本,操作系統和擴展),但如果他們切換瀏覽器,則仍然存在問題,這與Cookie相同。 哈希存儲在數據庫中。