2013-09-28 96 views
0

我正在建設一個網站。我希望用戶無需登錄即可投票。但是每個用戶應該只允許每個問題投一票(類似於堆棧溢出投票系統)。我在城市字典(http://www.urbandictionary.com/)中看到類似的東西,您可以在其中投票而無需登錄。如何在ASP.NET MVC4中做到這一點?如何查找用戶已投票。

我不想使用cookies,因爲有人可以輕鬆清除cookie並重新投票。你如何看待http://www.urbandictionary.com/這樣做?

+0

嘗試使用組合檢查。你可以使用IP或cookies,或其他任何想到的東西(IE瀏覽器+操作系統)。 – Rogue

+1

如果沒有某種認證,您的用戶(至少技術專家)可以隨時投票。如果您使用IP地址作爲身份驗證的形式,那麼使用dynamyc分配地址的用戶可以輕鬆地關閉路由器。如果你沒有參加15次代表大會,Stackoverflow不允許使用upvotes(你肯定會發現) – Steve

+0

你認爲Urban字典是怎麼做到的?我試圖通過清除我的cookie現金和登錄使用不同的IP,但它仍然阻止我投票? –

回答

-1

我沒有嘗試,但我建議你可以嘗試使用Session這個紙。

例如:

當用戶點擊Voûte餐廳,設置:

Session["isVouted"] = true 

現在你可以檢查:if((bool)Session["isVouted"]){don't allow to voute}。爲了獲得更好的結果,您可以將會話時間設置爲一小時或一天。

+0

這是錯誤的。由於會話很容易被清除,不會阻止某人編寫可能發佈假票的機器人。 –

+0

@SriwanthaSriAravinda如果用戶知道它是如何創建的,則不會阻止他編寫bot。 –

0

我不認爲這將是可能的,除非你有某種持久性存儲。即一個數據庫或餅乾。 餅乾唯一的缺點是它們可以被清除。

相關問題