java - 实现匿名用户投票

标签 java javascript spring flash cookies

我正在为我的网络应用程序构建一个匿名投票系统。我的目标是建立一个每台计算机(设备)只能执行 1 票的系统。我知道实现这一目标的最佳方法不是通过使用匿名用户来实现它,但我不太关心构建一个完全安全的系统。

我搜索过有关持久性 Cookie 的信息,但我很快意识到 Cookie 对于每个浏览器而言都是唯一的,而不是对于每个设备而言都是唯一的,然后普通用户可以轻松地发现他们可以在 Firefox 浏览器上投票后再次在 Chrome 上投票。如果您能给我任何建议,我将不胜感激。

构建这个系统的最佳方法是什么?

最佳答案

来自how to allow only one vote for a rating system @迈克·谢里尔“嘘声”:

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

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

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

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

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

如果一票真的有值(value),有些人会不辞辛劳地投两次票。但大多数选票并不是很有值(value)。

关于java - 实现匿名用户投票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432383/

相关文章:

java - 为什么我无法使用 SnakeYaml 和 Lombok 解析 yaml 字符串?

javascript - Chrome - 在函数参数中声明变量

java - 设置org.springframework.scheduling.quartz.JobDetailBean的bean属性 'jobClass'

java - 如何在 Spring Boot 中重写InternalResourceViewResolver?

java - java - 如何在spring java中动态调度任务

java - red5中的多线程

java - 我需要 ghostdriver 才能在 java 中使用 selenium 和 phantomjs 吗?

javascript - 护照 js req.user 在 req.login 后不可用

javascript - 三元运算符未按预期工作

java - Spring Boot 2 无法将属性读取为字符串