簡體   English   中英

匿名防止單個用戶進行多次投票

[英]Preventing Multiple Votes from a single user, with anonymity

我有一個Android應用程序,允許用戶通過我有代碼的Java Web服務器將信息發布到數據庫。

允許用戶對投票發表評論。 如何防止同一用戶在同一帖子上投票過多次?

我有一些想法:

  1. 通過為帖子ID唯一鍵添加本地存儲“鍵”來在本地禁用。 例如,當用戶投票贊成或反對時。 它在用戶的本地存儲區上寫有投票類型信息和帖子的唯一標識符的密鑰。 大量投票是否可行? 這會導致硬盤消耗/滯后嗎?

  2. 在應用程序安裝時生成的用戶電話上存儲唯一生成的密鑰。 該密鑰將被提交到數據庫中的新表,該表將帶有投票的帖子和“用戶密鑰”相關聯。

如果您希望獲得大量信息,那么數據庫可能是您的最佳選擇。 顯然,這將占用存儲空間,但不會占用太多空間。 根據我的經驗,寫入數據庫往往非常快。

唯一鍵也可以正常工作。 這樣會更安全(取決於您的操作方式),因為很難從客戶端欺騙它。 如果您根據用戶的Google帳戶或設備ID生成密鑰,則狀態良好。 如果您通過某種偽隨機方法進行操作,則用戶仍然可以通過清除應用程序數據並獲取新密鑰來進行多次投票。

如果防止多次投票確實很重要,請在服務器上進行。 如果不是特別重要,請采用您認為更簡單的方法。 您還可以考慮同時兼顧這兩個方面的優點:在重復投票嘗試時立即向用戶反饋(或只是更改UI以使其無法使用),以及在服務器上進行備份驗證(以防用戶嘗試獲取)圍繞客戶檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM