确定独特的访客,高级方式? (PHP / Java) - java

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。

7年前关闭。

我是一个主要的所谓“Toplist”的创始人。用户可以将他们的网站提交到顶级列表,并通过获得其顶级列表条目的投票来获得更高的排名。

平均访客年龄较小,主要在13至20岁之间。它们带来好处,也带来缺点。在过去的5年中,我一直在积极与使用机器人获取选票的“骗子”进行斗争。这些机器人使用代理,不同的用户代理,甚至设法解决了多种验证码问题(reCAPTCHA,SolveMedia和自定义验证码)。
自从我介绍了一个新系统后,这些机器人的使用量就大大减少了,该系统可以进行随机布局,并在每页加载15种不同的CAPTCHA系统中加载1种。似乎不再是问题。

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

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

参考方案

我建议您实施某种IP信任机制,因为开放代理使用的IP地址通常用于非法事物。如此众多的地址被蜜罐捕获,并被多个组织列入黑名单。看一下honeypotproject,例如:
https://www.projecthoneypot.org/
这是一个巨大的数据库,可以使用DNS查找功能以PHP轻松实现。

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或此处:Detect clients with Proxy Servers via PHP

Java SHA1withDSA到PHP,可转换? - java

使用PHP实现SHA1withDSA签名是否成功?失败报告here。PKCS8EncodedKeySpec prvSpec = new PKCS8EncodedKeySpec(prvKeyBytes); KeyFactory keyFactory = KeyFactory.getInstance("DSA"); PrivateKey pr…

Java BlackBerry-如何使用GET方法正确调用php脚本? - java

大家好吗?我正在为BlackBerry Curve 8520做一个非常简单的游戏,我需要从服务器获取排名。为了获取此数据,Web程序员给了我php文件,该文件从数据库获取数据并将其作为动态xml文件返回。我的问题是:如何使用Java代码加载该php文件?如何将get参数传递给该请求?我如何解析从php脚本检索到的xml?提前致谢!弗朗西斯科 参考方案 您这里…

使用文本文件中的数据创建重定向链接 - java

我的家庭网络上运行着几台服务器。该网络的动态IP地址变化很大。这意味着如果我想从其他地方访问我的网络,我需要IP。我使用我编写的Java程序获得了公共IP来解决此问题。效果很好,但是每次更改时都很难从我的保管箱中的文本文件中获取它。我正在寻找的是创建一个网页,以使用IP将我重定向到我的网络。问题是我真的没有足够的知识去做。谷歌还没有让我更进一步地弄清楚它。现…

使用Java和PHP的BCrypt,发送加密的密码并对其进行解码 - java

我想使用Android应用程序将加密的密码发送到存储该密码的服务器上的PHP文件。到目前为止,这也有效。在登录时,我再次将加密的密码发送到服务器,PHP文件应找出密码是否正确。但是如果我现在如果(password_verify($ userPassword,$ hash)){}那么该功能需要真实密码,而不需要加密密码。我现在如何比较加密和加密?还是只需要将可…

如何使用Java插件选择多个文件,然后使用PHP上传? - java

我正在寻找一种简单的方法,供用户将多个图像上传到网站。我想到的想法就像旧的Facebook服务一样,我认为他们使用Java。您单击以添加带有系统文件和文件夹的图像和弹出窗口,您可以在其中使用复选框选择多个图像,仅一个图像等。我从来没有使用过类似的东西,也没有接触过Java,但是我认为这是唯一的方法。谢谢!PS:我不是在说多个<input type=&#…