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