如何防止大多数骗子进行民意调查?

时间:2010-08-03 14:35:22

标签: php security

在我的网站上,我们运行竞赛系统,用户投票支持其他用户的内容。我们最近发现有人创建多个帐户进行多次投票(连续的身份证号码和几分钟内的投票)。我们希望防止再次发生这种情况。判断泰晤士报如何处理他们的“世纪最具影响力人物”民意调查,即便是大家伙也弄错了。

目前我们记录用户ID,投票日期和IPv4地址(通过$ _SERVER ['REMOTE_ADDR'])。

我可以采取哪些措施来防止或让某人以欺诈手段投票更加困难?

5 个答案:

答案 0 :(得分:6)

要求用户声誉。如果您将投票权与必须具有特定声誉的用户(即通过参与您的社区一段时间并提供有意义的内容)相关联,那么某人自动创建多个身份的过程变得越来越困难。

最后,它是充分认证,易于访问和结果价值(对您和用户)以及如何呈现结果之间的平衡。

答案 1 :(得分:1)

使用IPv4地址,使用浏览器签名($ _SERVER ['HTTP_USER_AGENT'])哈希。

如果投票来自不同的用户,但使用相同的IP地址,使用相同的浏览器,则在关闭时间范围内,可能是欺诈。

如果时间太近,导致自动化过程,验证码会解决它(但没有人喜欢在民意调查中使用验证码)。

答案 2 :(得分:0)

不幸的是,当有遗嘱时,防止欺诈性投票是非常困难的。然而,所有这些都是为了使欺骗系统尽可能不方便。

在您使用该帐户之前,您的帐户是否需要一个包含验证的唯一电子邮件地址?

用户多久投票一次?如果它只是每天一次或每天一次,您可以发送电子邮件来验证投票,但这可能会成为合法用户的痛苦。

不确定网站的规模,但是当你开始谈论极其庞大的网站,如时间的民意调查时,很难通过查看IP地址来判断连续的投票是否是假的。学院和办公室通常可以在同一个IP地址上拥有数百人。很难说这是否是投票背后的一个人,或者是否有人在宿舍楼的所有朋友周围告诉他们投票(可以解释来自同一IP地址的新注册/投票)同一时间)。

这个问题确实没有回答,只需保持监控日志并删除看起来不合法的投票。

答案 3 :(得分:0)

正如您所做的那样,跟踪IP地址以及投票时间,并禁止在同一时间段内来自同一IP的多个投票。这最多只影响一些大学生。

使用安全投票执行此操作的另一种更简单方法是强制进行电子邮件注册和确认。一些僵尸/垃圾邮件站点仍然可以通过拥有自己的域来解决这个问题,但是您可以阻止域名注册并从该站点进行投票。这是“最烦人的”,但最耗时,因此导致与IP地址相结合的可能性最小,导致大量作弊。

要记住的是,你不会阻止所有骗子进入你的系统,但你可以减轻它们。

答案 4 :(得分:0)

我会使用IP地址投票限制和Cookie的组合。是的cookie可以被删除,但这将阻止那些也恰好是白痴的恶意类型的人。

IP地址限制将检查来自该IP地址的某人是否最近投票(比如10分钟,根据人口统计或在同一IP地址上从大型组织投票的人数,您认为是否公平)并停止投票计数。

将这些2与您已经使用过的用户ID相结合,就像您可以实现的那样。