I found that I was getting random bot attacks on progscrape.com with no identifiable bot signature (ie: a signature matching a valid Chrome Desktop client), but at a rate that was only possible via bot. I ended up having to add token buckets by IP/User Agent to help avoid this deluge of traffic. Agents that trigger the first level of rate-limiting go through a "tarpit" that holds their connection for a bit before ser…
Did you implement this in your web server or within your application? I'd love to see the code if you're willing to share
https://github.com/progscrape/progscrape/blob/master/web/src...
Here's where we handle the rate limits:
https://github.com/progscrape/progscrape/blob/master/web/src...
I actually misremembered my implementation. It's rolling counting bloom filters, not a token bucket. :)