Browser Fingerprinting and Bot Detection
There are various browser fingerprinting and bot detection techniques, which aims to reduce impacts from unauthorized traffic. Fingerprinting includes IP (geolocation, ASNs, etc.), user agent, javascript fingerprinting (including math, navigator, canvas, webgl, etc.), TCP fingerprinting, TLS fingerprinting, HTTPS fingerprinting, etc. Bot detection includes user agent, ChromeDriver, Chrome DevTools Protocol (CDP), etc. Besides, there is also detection of API tampering and modified data to make it harder for attackers to circumvent detection.
There are more sophisticated bot detection techniques, such as analyzing behaviors (such as navigation, mouse clicks and movement, keyboard inputs, etc.) in short and long terms. These are out of the scope of this post because of their complexity and potentially either much higher false positive rates or much lower reliability.
Below, I list some of open source or free services that do fingerprinting and/or bot detection.