最近,我们遇到了一个特定用户的很多问题,他一直在使用公共代理 IP 在我们的网站上发布大量挑衅性消息。
有人可以推荐一种方法来确定 - 特定 IP 是否是公共代理?
谢谢。
我管理的服务器也有类似的问题;我编写了一个脚本 [1] 来检查来自新注册用户的每个连接,并执行一个tor DNS 查找,以确定它是否是一个 tor 出口点。
这不适用于每个公共代理,但由于 tor 是一个如此广泛使用的匿名器,它会捕捉到很多。
[1] 看到了吗?编程解决方案!
我们使用http://www.maxmind.com/app/proxy API 来确定 IP 是否基于代理。
有许多代理检测服务提供商。您可以下载本地查找数据库或使用远程 API。后者具有更高的网络延迟,但可以简化您的日常数据库更新过程。您可以从IP2Proxy开始并下载他们的示例数据库进行评估。
公共代理一直出现,通常它们的寿命很短。在我看来,最好使用某种 API 来围绕垃圾邮件分数、电子邮件声誉、asn 等建立逻辑。一个很好的起点是这个用于在线智能的 rest API,在你开始之前,你应该为所有人阅读他们的文档端点信息。它可能会慢一些并且依赖于第三方,但您永远不必担心让您的记录保持最新等。
我所做的不仅是查找代理和跨度记录,而且还查询“ip/info”端点以查看 IP 地址是否属于托管服务提供商,这使得它更有可能被用作代理,在这种情况下我更严格关于可以执行哪些操作等。我知道有些人通常可能通过 VPN 或代理访问该网站,但由您决定允许哪些用户,哪些不允许。每个案例都是不同的,要求可能会有所不同。
希望这对面临同样问题的其他人有所帮助。