Ich denke ich werde es mal über den UserAgent probieren, wobei ich immer noch ein bisschen Sorge habe, daß davon auch "normale" User betroffen sein könnten.
Echte Crawler wie Google, Bing, usw. schicken einen echten Useragent mit. Auch OpenAI, ChatGPT usw. schicken einen echten UserAgent mit. Das sieht dann z.B. so aus:
51.8.102.120 - - [24/Jan/2025:09:51:22 +0100] "GET /robots.txt HTTP/1.1" 404 3770 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot"
Das ist ziemlich eindeutig.
Etwas schwieriger wird es bei richtigen UserAgents aber alten UserAgents wie die hier:
18.216.126.142 - - [24/Jan/2025:01:53:52 +0100] "GET /.git/config HTTP/1.1" 404 3774 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:70.0) Gecko/20100101 Firefox/70.0"
191.101.157.196 - - [24/Jan/2025:06:20:44 +0100] "GET / HTTP/1.1" 301 547 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"
45.156.129.115 - - [24/Jan/2025:06:37:07 +0100] "GET / HTTP/1.1" 200 4591 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
Man kann in der Regel davon ausgehen dass kein echter User mehr Firefox 70.x oder Chrome 60 bzw. 74.x benutzt.
Heiße Kandidat ist auch immer
python-requests/2.31.0Ganz ausschließen kann man leider nicht dass man den einen oder anderen User aussperrt aber wenn man hin und wieder mal ein Auge in die Logs wirft passiert das eher seltener