好的,所以我打算用upvote/downvote功能制作一个网站。在没有深入了解网站其他部分的详细信息的情况下,用户将能够提交可投票的内容(与此类似,仅限于此)。本网站上唯一的“帐户”将面向管理员和版主,这使我想到了主要问题:在网站上实施upvotes/downvotes的最佳方式是什么?
如何在没有帐户的情况下尽可能优化每个用户的投票数?
也将使用Django和MySQL做出的网站,这引出了我的第二个问题:
如何存放票MySQL数据库?我应该在每个帖子的字段中存储一个整数吗,还是应该是一个每行有一个投票的表?我的猜测肯定是前者,但我从来没有像以前那样工作过,所以我只想确定一下。
任何人都可以指出我如何实现我想要的功能的大方向?我一直在想它,并且我想到了使用会话变量,cookie和/或IP地址的方法。我知道如果没有帐户,任何解决方案都不是完美的,但我只想要一些足够好的方法来防止垃圾邮件投票。我很无助,所以所有的帮助表示赞赏。
您应该单独存储upvotes和downvotes,主要是因为并发问题更新了投票计数。 – fredley
通过限制IP地址,您将失去大量可能的选票。许多学校,企业甚至宿舍使用1个外部IP地址给许多用户。没有用户帐户,没有好的方法来实现一个系统。因为限制100名员工拥有1个人的投票将是不准确的,就像没有IP限制一样。 – JClaspill
@JClaspill我应该在我的问题中提到过这个,但该网站实际上是针对我大学的学生(我甚至计划将发布的内容排除在他们之外)。我的28,000多名学生的大学有什么机会为每个人使用相同的IP地址? – GRardB