网站被Amazonbot和Facebook爬虫爬崩溃?按照这个方法屏蔽爬虫和他们的IP

这两天我的网站直接被亚马逊和Facebook的爬虫爬崩了,为了训练AI到处爬,我也是无语了,在服务器上网站日志看到以下代码就是Facebook的爬虫:

+https://developers.facebook.com/docs/sharing/webmasters/crawler

以下代码的是亚马逊爬虫,亚马逊爬虫有标识“Amazonbot”:

+https://developer.amazon.com/support/amazonbot

最狠的是Facebook的爬虫,我的网站基本上就是被它爬崩的,我这边有两个方法屏蔽它们的爬虫,一个是使用robots.txt,另一个就是直接屏蔽IP段。

一、设置robots.txt屏蔽爬虫

首先我们需要搞清楚这两个爬虫的User-agent: 名字,这边已经给大家查到了,亚马逊的就是Amazonbot,而Facebook的是meta-externalagent,它们的官网上都有说,不过设置robots.txt需要24小时才能完成更新,这期间服务器是非常难受的,不过还是可以先设置一下,把下面的代码加入robots.txt中:

User-agent: meta-externalagent
Disallow: /
User-agent: Amazonbot
Disallow: /

还有其它的乱七八糟的爬虫,大家也可以一起加进去,除了几个搜索引擎的蜘蛛,其它爬虫都浪费服务器资源。

二、Linux服务器屏蔽IP段

我有用宝塔面板后台安全-IP规则,设置不上去,所以我直接用SSH远程服务器进行屏蔽。

这边我确定了Facebook爬虫的IP是57.141.3.*这个IP段的,那么我们在SSH输入以下代码:

iptables -I INPUT -p tcp -s 57.141.3.0/24 -j DROP

然后输入以下代码确认规则是否添加成功:

sudo iptables -L -n

这两个方法都很简单,Linux上屏蔽IP段的方法这篇文章写的更详细些:https://www.shoushai.com/p/982

另外我有一点建议,Linux远程SSH用完后,建议关闭22端口,即在安全组上删除这个即可。除了自己使用,22端口保持长期关闭最为安全。

本文来自投稿,不代表首晒立场,如若转载,请注明出处:https://www.shoushai.com/p/983

喜欢 (1)

发表回复

登录后才能评论

网友热评(2)

猜你喜欢