早上检查网站访问日志时发现大量异常请求,发出请求的UA是:
Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Mobile Safari/537.36
这个爬虫高并发持续发出请求,夜里也在继续爬,稍微查了下这个恶意爬虫在网上很早就有人发现了,目前还查不出来这是哪家搜索引擎的爬虫,爬虫里也没有注明所属搜索引擎。
既然如此那不如直接封禁一了百了,常规封禁方法就是Nginx直接返回403,但返回403仍然消耗服务器资源,不如直接返回444。
返回444意味着Nginx会直接关闭和丢弃这个请求,相对来说更省事儿。
#封禁恶意爬虫
server
{
listen 80;
listen 443 ssl http2;
server_name www.landiannews.com landiannews.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/www.landiannews.com;
...
#禁止恶意UA start
if ($http_user_agent ~ "SM-G900P|^$"){
return 444;
}
#禁止恶意UA end
...
}
将上面的封禁代码粘贴到网站配置文件的server里即可,保存配置文件后重启Nginx使之生效。
可能会有站长疑虑直接封禁SM-G900P这个设备是否会影响用户正常访问,SM-G900P是Samsung Galaxy S5,还是2014年的手机,现在还在使用S5的用户估计四舍五入约等于0,所以封禁不会产生多少影响。