恶意蜘蛛或者爬虫UA特征公布(2024版)

我们做网站,往往都是机器比真人少,不仅影响我们查看数据的真实性,也影响网站服务器的负载,其中很多未知名的机器天天爬,不知道是采集还是扫漏洞、或者是撒网式攻击注入,让人烦不胜烦!那么我们有什么好的办法呢?唯一的办法就是对该类访问进行屏蔽。但是通过IP来访问,实在是收效甚微,主要原因是我们没有大量的数据来进行分析各IP的访问行为。

对于一些高明的机器访问,我们很难判断是真人还是机器,但是我们可以通过UA来对某些访问者进行限制。虽然不能全面禁止恶意机器的访问,但是大部分无意义的访问者是可以拦截在网站之外的。

恶意蜘蛛或者爬虫UA特征公布(2024版)插图

恶意蜘蛛或者爬虫UA特征公布(2024版)插图1

一、判断蜘蛛的真实性

很多机器访问的时候会模拟百度蜘蛛、谷歌蜘蛛进行访问,这里我们就需要对蜘蛛真实性进行有效的识别。其中最有效的办法是通过收集各大搜索引擎的全部蜘蛛IP来进行匹配,但是要收集蜘蛛的所有IP比较困难,除非搜索引擎公布了所有蜘蛛的IP,不然很难做到全面。最简单的办法则是对蜘蛛的IP进行反查询,查询其DNS解析记录。比如:

百度蜘蛛:DNS记录需包括(baidu.com)

谷歌蜘蛛:DNS记录需包括(googlebot.com)

必应蜘蛛:DNS记录需包括(search.msn.com)

这里主要是针对模仿蜘蛛进行访问的机器,他既然选择模仿蜘蛛而避免被屏蔽,说明其行为的目的并不单纯,大可放心拦截封禁!

二、非法UA特征

对于一些没有模拟知名蜘蛛的普通访问者,凡是有一些特征的UA,基本可以直接屏蔽:

AhrefsBot

AwarioBot

BLEXBot

Barkrowler

CensysInspect

Criteo

DataForSeoBot

DigExt

DnyzBot

DotBot

ExtLinksBot

Ezooms

FlightDeckReports

Go-http-client

Grapeshot

Heritrix

HttpClient

HubSpot

InternetMeasurement

Knowledge AI

Linguee Bot

MJ12bot

MauiBot

MegaIndex

RepoLookoutBot

SemrushBot

SurdotlyBot

Web-Crawler

WellKnownBot

Yellowbrandprotectionbot

ZoominfoBot

axios

fasthttp

github

libcurl

paloaltonetworks

python

seokicks

serpstatbot

webprosbot

Go-http-client

python-requests

ubuntu

Java

DataForSeoBot

MJ12bot

AhrefsBot

BLEXBot

DotBot

Barkrowler

Adsbot

SM-G900P

SemrushBot

PetalBot

GPTBot

Apache-HttpClient

ds-robot

amazonbot

msray-plus

Go-http-client

YandexBot

Python

SkyworkSpider

facebook

ChatGLM-Spider

Knowledge AI

Linguee Bot

Wordup-1

PycURL

curl/7.29.0

okhttp

ChatGLM-Spider

python

Python-urllib/3.10

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)

Dalvik/2.1.0

Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)

Go-http-client/1.1

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0

Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)

这里面有ai蜘蛛、服务器机器UA、go和python等服务UA、很多linux系统的机器UA是空,比如宝塔的linux机器访问是空UA,所以空UA基本也是可以屏蔽掉的。当然,我这里分享的东西可能还不够全面,也可能有重复的,其余的等待大家补充!

THE END