如何消除在线调查的作弊行为?

时间:2013-11-21 18:59:27

标签: php

如何在调查中消除“尽可能多”的作弊行为?所以我希望一次只能通过一台计算机完成调查。

我目前捕获IP地址,但IP地址是动态的,因此这是一个问题。请认为IP地址可能是欺骗性的。

那么如何才能提高安全性,但一次只允许一台PC完成调查?

“作弊”是指多次提交调查。 我使用PHP创建了调查。

由于

2 个答案:

答案 0 :(得分:3)

  1. 要求参与者注册其电子邮件地址
  2. 跟踪IP地址
  3. 设置和跟踪浏览器Cookie
  4. 向用户的手机发送短信,他们必须输入
  5. 要求参与者在其计算机上购买和设置视网膜扫描仪=)
  6. 除了开玩笑,我认为SMS可能是该列表中最可靠且可执行的选项。您可以要求参与者输入他们的手机号码,使用像Twilio这样的服务轻松向他们发送短信代码,现在同一个人再次提交调查变得困难。我意识到这是跟踪用户而不是计算机,但我认为它非常接近你想要实现的目标。

答案 1 :(得分:0)

这取决于你想走多远。

易于实施的解决方案是在完成调查的任何浏览器上设置Evercookie。这很容易被打败(清除你最近的历史或使用私人导航),但对于非技术用户来说可能已经足够了。

更难的解决方案(可能存在误报)是除了IP地址,netblock和evercookie之外还使用browser fingerprinting并将所有这些信息分别存储在数据库中。

当有新人尝试完成调查时,请将他们的信息与您在数据库中的内容进行比较,并为每个匹配的项目增加分数。如果分数高于预定义的常数,您可能会抓住某人试图重新进行调查。

困难的部分是调整该常量,并根据项目的唯一性为每个项目提供唯一的乘数(用户代理不是唯一的,IP更好,以及已安装的插件列表甚至更好,例如)。

最后你应该使用this list禁止Tor退出节点(输入服务器的IP,他们的脚本将返回可以到达你服务器的所有退出节点的列表),并使用其中一个来打开代理/ VPN服务blacklists