我目前负责设置投票系统(使用 PHP)。
现在,为了尽可能安全和客观,访问者只能投票一次很重要。我正在考虑通过访问者的 IP 验证民意调查(一个 IP 只能投一票),并且可能会进行验证码测试以确保一旦机器人出于某种原因通过了 IP 验证就无法进入.
就是这样,唯一 IP 验证和验证码。但这就够了吗?是否有可能单个用户可以通过使用代理或其他我不知道的方式更改他/她的 IP,并使用唯一的 IP 多次投票?
有没有更好的方法来做到这一点?最好没有验证码。
提前致谢。
最佳答案
在不需要登录的公共(public)投票系统中,绝对无法确定用户已经投票过一次。
出于多种原因,检查 IP 不是一个好主意。如其他答案所述,一个ip后面有很多网络,用户可以使用另一台ip不同的pc再次投票。
OpenId
使用 OpenId 识别用户并检查他们是否已经投票。
注册用户
如果用户没有 openid 帐户,您可以选择允许他们自己注册。
要实现一个安全系统, session 欺骗和多重投票变得困难 read this
关于php - 设置安全的轮询系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689453/