防止用户在多租户环境中多次投票的最佳方法

本文关键字:方法 最佳 环境 用户 | 更新日期: 2023-09-27 17:58:33

首先,我知道在防止用户为单个主题或区域投多票的主题上发布了许多相关问题。我几乎读过所有获得答案的书。但我的场景与我读过的略有不同,我正在寻找一个合适的好方法作为答案或建议。

我的网站是一个多租户环境。因此,用户可以对其他用户的网站贡献进行投票,但他们必须登录才能投票。阅读其他帖子,我想我已经涵盖了这个问题的这一方面。

所以,如果我有,比如说10个用户,每个用户都有自己的网站贡献,其中会员#1投票给会员#2。我不知道如何实现cookie来解决来自同一用户的多张选票的问题,同时仍然允许会员#1投票给会员#3。希望这是有道理的。

简而言之,考虑到上述情况;我想禁止1号成员再投票给2号成员,但不能投票给3号、4号或5号成员等。除非他们已经投票给了这些成员。

如果可能的话,我需要一种优雅而简单的方法来做这件事。我曾想过使用一些数据库表来实现这一点,但随着网站的发展,这似乎可能会成为不合理的大量数据来执行这样一个简单的规则。

Cookie听起来不错,但我不确定我会如何管理规则,以免完全禁止用户进行任何投票,只允许那些尚未投票的用户进行投票。

我使用的是带有Raty Star投票系统的MVC4。

防止用户在多租户环境中多次投票的最佳方法

您不能在客户端执行此操作。相反,当用户投票时,将投票发送到服务器并在服务器端记录(几乎可以肯定是在数据库中)。是的,服务器端存储(DB表或您使用的任何存储)的大小都会随着时间的推移而增长,但您不能依赖任何客户端机制来实现这一点。防止重复投票的唯一方法是存储已经进行的投票,而你唯一可以合理地做到这一点的地方就是用户无法访问的地方。