如何只允许一个评级系统投票

时间:2012-10-10 01:42:06

标签: php rating-system

我已经制作了基于jquery和css的星级评分系统。现在我真的不能想到如何将用户投票保存到数据库。最重要的是如何将一个用户限制为一票。

由于网站中的访问者数量巨大,我无法将每个用户的IP保存到数据库。而且我不认为它的效果很好,因为即使我的IP地址本身也是动态的。每次我断开并重新连接我的互联网我的IP改变,我能够再次投票。所以我认为这不会起作用。

这就是我考虑将投票保存到数据库: 生病,只需保存页面收到的投票数,生病保存页面的总评分。

并且将评分点与投票数进行分配。所以它会给我平均评分。对不对?

但我认为没办法将一个用户限制为一票。请帮忙。

2 个答案:

答案 0 :(得分:5)

似乎没有切实可行的方法来严格执行网上每人一票。

在计算机网络上,我们经常为人们使用代理人。其中一些是

  • 网络或应用程序登录,
  • 电子邮件地址,
  • IP地址,
  • 饼干,

等等。但是,当涉及每人一票时,所有这些都有问题。

  • 对于 web 登录,一个人通常可以创建多个帐户。 (特别是如果他们有空的话。)
  • 电子邮件帐户是免费的,许多(大多数?)人现在拥有多个电子邮件帐户。
  • IP地址可能有效,但仅适用于使用非共享计算机的内部网(使用每台计算机一个IP地址实现)(每台计算机一人的公司政策)。
  • Cookie与网络登录具有相同的问题。 (并且用户可以删除它们。)

如果投票真的很有价值,有些人会投两次很多麻烦。但大多数选票都不是很有价值。

答案 1 :(得分:0)

研究使用索引构建数据库。我创建了一个用户最喜欢的系统,只允许每个用户/喜欢的组合插入一行。例如:用户选择收藏夹,存储在数据库中的值是用户ID和收藏夹ID。如果用户尝试再次选择它,则数据库将不会插入该行,因为它完全相同。