3

我有一个网站,我想在各种事情上给予 5 星评级。但是,就像许多其他人在 SO 上提出问题一样,我只想允许每人投一票。

起初,我计划在投票发生时记录 IP 地址,然后扫描以查看当前 IP 之前是否投票过,这会很好用。

但后来我意识到一个问题,该网站是为一所特定学校的大学生设计的。如果我正确理解 IP,这有几个问题:

  1. 使用学校计算机/连接到学校 wifi 的人将拥有相同的 IP(可能是少数,但不是每台计算机都是唯一的)
  2. 许多人住在 4-8 人的房子里,他们都将共享相同的 IP(假设他们在同一个网络上)

我如何在不使用 IP 地址或用户登录的情况下检测唯一投票?有没有其他方法可以做这样的事情?

或者也许我误解了 IP 地址的工作原理,我仍然可以使用它 - 希望是这样。

谢谢

4

2 回答 2

4

你可以用任何你想要的方式做到这一点。没有“一条正确的方法”。

在极端情况下,您可以让用户在请求帐户时提交血液样本。然后,您可以对照您的数据库检查新的血液样本。这可能会导致人们提交家庭成员的血液样本。如果这是一个问题,您可能希望他们签署一份合同,最有可能经过公证,说明他们已经提交了自己的血液样本。

您也可以让他们亲自到您的办公室注册。例如,您可以收集指纹并将其与您的数据库进行比较。

IP 地址对于此目的不是很有用。有些人可以访问数十个 IP 地址,在某些情况下,许多人共享一个 IP 地址。

您只能给在论坛上发表大量智能帖子的用户投票。这至少会减少人们创建投票账户的便利性。

于 2012-07-29T09:50:11.320 回答
-1

我不确定它是否可以在您的应用程序中实现,但尝试记录唯一的 MAC 地址而不是唯一的 IP 地址。MAC 地址对于每个网络控制器来说都是唯一的,通常 PC 只有一个。

于 2012-07-29T09:51:38.690 回答