0

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

由于该网站的访问者数量巨大,我无法将每个用户的 ip 保存到数据库中。此外,我认为它效果不佳,因为即使我的 IP 地址本身也是动态的。每次我断开并重新连接我的互联网时,我的 ip 都会改变,我可以再次投票。所以我认为这行不通。

这就是我对将投票保存到数据库的想法:我只保存页面收到的投票数,不保存页面的总评分。

并且将评分与投票数分开。所以它会给我平均评分。对?

但我想不出办法将一位用户限制为一票。请帮忙。

4

2 回答 2

5

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

在计算机网络上,我们经常使用人的代理。他们之中有一些是

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

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

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

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

于 2012-10-10T02:14:25.090 回答
0

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

于 2012-10-10T01:54:56.077 回答