2016-02-29 68 views
0

我知道这是一个受欢迎的问题,我阅读了关于它的所有主题。我想在这个问题上给我点意见。如何检测代理请求?

目标:如果用户使用检测代理它

原因:如果用户使用代理不显示地理位置进阶我需要知道布尔结果。

决定:代理IP地址的 1.使用数据库(例如:的MaxMind); 2.检查头Connection: keep-alive因为便宜代理不使用持久连接。但所有现代浏览器都使用它; 3.检查其他流行的标题; 4.使用JS通过比较浏览器主机和真实主机来检测Web代理。

问题: 1.建议数据库中,我读到的MaxMind,但有些人写了它是不是有效。 2.检查连接标题。它是okey吗? 3.可能是我错过了什么?

PS /对不起,我的英语...我学习。

回答

0
  1. 您可以评估每天更新的IP2Proxy数据库。它检测开放代理,Web代理,Tor和VPN。 https://www.ip2location.com/databases/px2-ip-proxytype-country

  2. 检查连接头是不准确的代理类型,如VPN。

  3. 检查头很容易被击败。新一代代理将尝试解决老一代的检测方法。

根据我们的经验,代理检测的最佳方法是基于准确的黑名单。

0

最好的办法是绝对使用的API。您可以使用MaxMind中的数据库,但您需要继续下载该数据库并确保数据始终保持最新状态。正如你所说,有关于MaxMind数据准确性的问题。

我个人建议你试试https://proxycheck.io哪个完全公开是我自己的网站,你可以免费获得所有东西的完全访问权限,优质代理检测和每日1,000次查询阻止。

1

选项1你的建议是最好的选择。代理检测可能耗时且复杂。

至于你提到的MaxMind和你的有效性的关注,也有像提供其他GetIPIntel的API。它是免费的,使用起来非常简单。它们超越了简单的黑名单,并使用机器学习和概率论算法来确定概率值并使事情非常准确。你提到

选项2不伤实现,除非你得到了很多误报。选项3-4不应该单独使用,因为它很容易绕过它。所有的浏览器操作可以实现自动化,只是因为有人在使用代理,它不会他们没有使用真正的浏览器的意思。