我知道这是一个很受欢迎的问题,我阅读了有关它的所有主题。我想在这个问题上为我指出一点。
目标:如果用户使用
,则检测代理原因:如果用户使用代理不显示geo adv。我需要知道布尔结果。
决定:
1.使用代理IP数据库(例如:MaxMind);
2.检查标头Connection: keep-alive
,因为廉价代理不使用持久连接。但所有现代浏览器都使用它;
3.检查其他流行的标题;
4.使用JS通过比较浏览器主机和真实主机来检测Web代理。
问题: 1.建议数据库,我读了MaxMind,但有些人写道它没有效果。 2.检查Connection-header。好吗? 我可能错过了什么?
PS /对不起我的英语......我学到了它。答案 0 :(得分:1)
您建议的选项1是最佳选择。代理检测可能非常耗时且复杂。
正如您提到的maxmind以及您对有效性的关注,还有其他API,如GetIPIntel。它是免费的,使用起来非常简单。它们超越了简单的黑名单,并使用机器学习和概率论算法来确定概率值并使事情非常准确。
你提到的选项2除非你得到很多误报,否则不会受到影响。选项3-4不应该单独使用,因为它很容易绕过它。所有浏览器操作都可以自动执行,只是因为有人使用代理,并不意味着他们不使用真正的浏览器。
答案 1 :(得分:0)
您可以评估每日更新的IP2Proxy数据库。它检测开放代理,Web代理,Tor和VPN。 https://www.ip2location.com/databases/px2-ip-proxytype-country
检查连接标头对于VPN等代理类型是不准确的。
检查标题很容易被击败。新一代代理将尝试解决老一代的检测方法。
根据我们的经验,代理检测的最佳方法是基于准确的黑名单。
答案 2 :(得分:0)
最好的方法是使用API。您可以使用MaxMind中的数据库,但是您需要继续下载该数据库并确保数据由他们保持最新。正如您所说,有关MaxMind数据准确性的问题。
就我个人而言,我建议您尝试https://proxycheck.io完全披露是我自己的网站,您可以通过1,000次每日查询获得免费,高级代理检测和阻止的所有内容。