我们注意到,大量的网络流量来自内容抓取工具(根据其抓取模式确定)。它们对我们来说是无用的访问者,但却消耗了大量的资源(带宽、CPU)。是否有任何应用程序/防火墙可以检测内容抓取工具并阻止它们?
除了搜索引擎爬虫之外,它们并不是没用的。
注意:我更喜欢使用现有的解决方案。我相信这是一个常见问题,应该有一个现有的解决方案。
答案1
最好的方法是使用 netfilter/iptables 阻止流量,因为这比通过 apache2/php 阻止更有效。这里的问题是,您需要知道内容抓取器的 ip/主机名。
一种可能的扩展可能是您尝试根据内容抓取工具的行为(-> 统计方法!- 例如每分钟请求数)检测内容抓取工具,或者搜索缺少的用户代理或普通用户浏览器会具有的其他内容,然后拒绝其访问。当然,您也可以通过 php(或您使用的任何环境)将 IP/主机名添加到 iptables,以便阻止它。但通常这需要 root 权限,而为您的 apache2 授予 root 权限并不是一个好主意。