识别独特的访客,先进的方式?(PHP/Java的)

Jas*_*son 9 php java ip

我是一个主要的,所谓的"顶级名单"的创始人.用户可以通过获得他们的顶级参赛者的投票,将他们的网站提交到顶级名单并获得更高的位置.

普通游客年轻,主要在13-20岁之间.它们带来了好处,但也有缺点.在过去的5年里,我一直在积极打击那些使用机器人获得选票的"骗子".这些机器人使用代理,不同的用户代理,甚至设法解决多种CAPTCHA问题(reCAPTCHA,SolveMedia和自定义验证码).自从我引入了一个随机布局的新系统并在每个页面加载时加载15个不同的CAPTCHA系统中的1个以来,这些机器人的使用已大大减少.它似乎不再是一个问题.

人们现在已经开始进行手工作弊.他们使用的浏览器插件几乎可以在每个页面加载时更改其IP地址(例如:https://addons.mozilla.org/en-us/firefox/addon/ipflood/).我真的似乎无法找到解决这个问题的方法,但这是一个非常大的问题.很难相信,但这些孩子甚至手动解决5000个验证码问题,这需要很长时间.

我的问题是,有人能帮我想办法解决这个问题吗?我一直在使用cookie和会话设置,但他们已经开始注意并删除它们.我将介绍用户帐户,并通过帐户投票更有趣,但我不想要帐户.我怀疑是否存在,但还有其他方法可以打击作弊(可能就像一个Java网络应用程序,如果可能的话,它会逃避浏览器设置的代理并将真正的IP传递给页面?)?或者我应该放弃并雇用人员进行日常检查,以确定该网站是否有可能获得如此多的选票?

Ste*_*fan 5

我建议你实现某种IP的诚信机制,因为开放代理使用的IP不会忽略通常用于违法的事情.
许多这些地址都被蜜罐捕获,并被几个组织列入黑名单.看一看在honeypotproject例如:
https://www.projecthoneypot.org/
这是一个庞大的数据库,并且可以很容易地实现PHP使用DNS查找功能.另外
http://www.stopforumspam.com/
非常好,如果我没记错的话,还提供REST界面.
除此之外,还有数百个将各种活动列入黑名单的DNSBL,请查看一些proxy-dnsbls:
http://spamlinks.net/filter-dnsbl-lists.htm 或http://dnsbl.tornevall.org/http://www.sorbs.net/

最后但并非最不重要的是,您可以使用常见的PHP方法进行代理阻止(最简单的方法是检查HTTP-X-Forwarded标头,并非所有代理提供它虽然)
继续阅读:https://meta.wikimedia.org/wiki/Proxy_blocking或在这里:通过PHP检测代理服务器的客户端