实现这一目标的最佳方法是什么?使用 cookie 还是使用 IP 控制?
4 回答
它与非 Ajax 版本没有什么不同。
这取决于您愿意冒着误报的风险,以及您可以忍受多少误报,以及您想让人们付出多少努力。
验证码锁定了一些用户,惹恼了更多用户,但在阻止机器人和减慢手动投票方面相当有效。
Cookie 可以被删除,并被机器人忽略,但会减慢手动重新投票的速度。
IP 日志记录会阻止来自同一 IP 的多个人(例如通过 NAT),并且人们可以更改他们的 IP。
使用唯一的电子邮件地址注册对用户来说是一项很大的工作,并且需要他们放弃个人信息,但相当有效。
没有真正“好”的解决方案。你只需要决定你能忍受哪些“坏”。
没有任何解决方案是 100% 准确的。我相信使用 cookie 会更好。用户仍然可以投票两次(一次来自家,一次来自工作)。同样的事情也适用于IP。
IP 的问题在于,在同一办公室工作的人可能会在您的服务器上显示他们来自同一个 IP。使用 IP 锁定投票将只允许其中一个人投票。
IP也更难实现。您需要将选民 IP 存储在数据库中。使用 cookie 更简单。
另一种解决方案是强制用户注册。这样一来,每个电子邮件地址将拥有一票。但不允许匿名投票。
用户可以删除 cookie,并且他们的 IP 地址可以更改。不过我还是会选择IP。
您采用的解决方案将取决于投票结果需要有多准确以及多票的影响有多严重。请记住,任何未完全注册的内容都会打开您的系统进行多次投票。事实上,您仍然可以通过注册多次投票 - 每次只需输入一个新的电子邮件地址。
如果它只是一个vox pop 民意调查,那么cookie 可能是要走的路。
如果投票有真正的后果(获奖等),那么您需要进行完整注册。
所以答案是这一切都取决于。