如何限制用户不要多次投票?

时间:2010-08-08 06:59:19

标签: php restriction vote

在我的应用程序中,用户可以发布他/她的文章,其他用户可以在上下调整时回复,就像stackoverflow对已发布的问题和答案一样。

如何限制用户他/她不能投票两次?

4 个答案:

答案 0 :(得分:6)

只需将用户ID存储在投票表中即可 因此,您可以随时检查特定用户是否已经投票 article-id,user-id,投票时间和投票价值列就足够了

答案 1 :(得分:4)

两种方法:

  • 客户端:设置为cookie(最后5或10票的文章ID),不允许再次投票。这很容易被破解,但允许您在没有任何数据库更改的情况下实现!
  • 服务器端:跟踪每个投票,并在<{userID}, {vote UP/DOWN}, {articleID}>
  • 等表格中投票

StackOverflow使用数据库存储所有这些数据。他们还会在一段时间后锁定您的投票,因此您无法撤消操作。

答案 2 :(得分:2)

我认为最好的方法是将所有投票和用户ID存储在数据库中,如果它变大,您可以在一周/月/等之后从数据库中删除旧记录,并限制对较旧的项目进行投票比一周/月/等,所以没有人能够在同一项目上投票两次。

答案 3 :(得分:1)

您需要使用某种服务器端脚本来记住用户的IP或其他一些独特的数据。您必须存储IP或其他数据并记住它。当用户再次尝试上/下投票时,您将不得不检查是否应该让他们这样做。如果他们想改变投票,你应该让他们做相反的事情。你可以用PHP和MySQL(以及许多其他东西)来做到这一点。