我遇到了某个人,他一直在积极地抓取我的网站;浪费带宽和CPU资源。我已经实现了一个系统,该系统可以跟踪我的Web服务器访问日志,将每个新IP添加到数据库中,跟踪该IP发出的请求数量,然后,如果同一IP超出了某个请求阈值,在某个时间段内,它通过iptables被阻止。听起来可能很复杂,但据我所知,尚无旨在将某个IP限制在一定数量的带宽/请求中的预制解决方案。
这对于大多数爬虫来说都可以正常工作,但是一个非常执着的人每次被阻止时都会从其ISP池中获取新IP。我想完全阻止ISP,但是不知道如何解决。
在几个示例IP上进行Whois,我可以看到它们共享相同的“ netname”,“ mnt-by”和“ origin / AS”。有没有一种方法可以使用相同的mnt-by / AS / netname在ARIN / RIPE数据库中查询所有子网?如果没有,我该如何获取属于该ISP的每个IP?
谢谢。