Php 在投票比赛中追捕骗子
目前我们正在举办一场比赛,比赛进行得非常顺利。不幸的是,我们有所有这些骗子回到业务谁是运行脚本自动投票给他们的条目。我们已经看到一些作弊者通过手工查看数据库条目——例如,在同一个浏览器上,整整70分钟内都有5颗星的评分。现在随着用户群的成长,识别它们变得越来越困难 我们到目前为止所做的:Php 在投票比赛中追捕骗子,php,spam-prevention,voting,Php,Spam Prevention,Voting,目前我们正在举办一场比赛,比赛进行得非常顺利。不幸的是,我们有所有这些骗子回到业务谁是运行脚本自动投票给他们的条目。我们已经看到一些作弊者通过手工查看数据库条目——例如,在同一个浏览器上,整整70分钟内都有5颗星的评分。现在随着用户群的成长,识别它们变得越来越困难 我们到目前为止所做的: 我们存储IP和浏览器,并在一小时的时间内阻止这种组合。饼干对这些家伙没什么帮助 我们也在使用验证码,它已经被破坏了 有人知道我们如何用PHP脚本在数据库中找到模式,或者我们如何更有效地阻止它们吗 非常感谢您的帮
非常感谢您的帮助……您可以在投票表中添加验证码。还需要电子邮件确认将非常有用直接反馈消除 这更像是一种通用策略,可以与许多其他方法相结合。不要让垃圾邮件发送者知道他是否成功 您可以完全隐藏当前结果,只显示没有绝对票数的百分比,或延迟显示投票
- 赞成:对所有方法都很好
- 缺点:如果欺诈是大规模的,百分比显示和延迟将无效
- 优点:可以抵御所有可检测的垃圾邮件攻击
- 缺点:投票有偏差,更难设置,误报
- 赞成:对所有自动脚本都很好
- 反对者:反对无效
- 赞成:好对付那些经常在浏览器中点击F5的随机家伙
- 优点:易于实现
- 缺点:对于使用代理服务器的复杂脚本来说是无用的
- 缺点:IP地址有时映射到许多不同的用户
- 优点:易于实现
- 赞成:在某种程度上对简单的咽管制有好处
- 缺点:通过自动脚本很容易规避
+foo
添加到您的用户名中<代码>username@example.com和用户名+foo@example.com
两者都会将邮件发送到同一个帐户,因此请记住,在检查是否有人已经投票时
- 赞成:对简单的垃圾邮件脚本很好
- 缺点:难以实施
- 缺点:有些用户不喜欢它
- 赞成者:不管怎样,很高兴有
- 缺点:一旦被发现,很容易规避
- 赞成者:不管怎样,很高兴拥有
- 赞成:对非常简单的脚本很好
- 缺点:设置起来更困难
- 赞成:对使用代理的更高级脚本很好
- 缺点:一些合法用户可能会受到影响
,其中.gif是一些1x1像素的图像。然后,您必须使用缓存控制“无缓存,必须重新验证”
为请求GET/a.gif
设置http头。您可以使用.htaccess
文件在Apache中设置http头,如。(谢谢Jacco)
- 赞成者:据我所知,这是一种罕见的方法
- 缺点:设置起来有点困难
- 一个所谓的搜索引擎可以用来跟踪基于浏览器的垃圾邮件发送者
- 如果你真的很担心,那么你必须做一些类似电子邮件验证的事情,这可能足以阻止大多数作弊者
此外,这还取决于NAT背后的多人是否愿意投票给同一个选项(例如,最喜欢的学校)
你创建的任何方案都可以玩
编辑:正如其他人所建议的,您可以使用诸如来阻止自动机器人,并减少人类重复投票的可能性。以降低人类投票的可能性为代价。总是好的,但可能会让一些用户感到“不安”
是一种被广泛使用的服务来阻止你可以使用的机器人投票。唯一想到的是使用。要么是一个精心制作的,有图片和噪音的服务,要么是一个非常简单和不显眼的服务,比如“七加三是什么?”或者(如果你在美国),“我们总统的姓是什么”,简单的常识性问题,每个人都可以回答。如果您经常更改它们,这甚至可能比传统的基于图像的验证码更有效。在提交投票之前,只允许使用openid和reCaptcha登录的用户,并使用相同的ip地址监控提交者列表。模式如何(你可能知道)哈