Forum Moderators: open
Are the IPs real, VPN, rotated, assorted?
What are the user agents, if any?
Regardless of what you do the site will be hit, either at the server or the router level. Just one of those things that goes with the job...
We were not dealing with normal bots. Normal bots would identify themselves and behave appropriately, or as directed. We were dealing with bots that do not identify themselves, and therefore, their behaviour cannot be controlled.
Thankfully our proposed solution appears to be working
Normal bots would identify themselves and behave appropriately, or as directed.Are you sure about your tech team’s qualifications? “Normal” is a statistical term, so it’s nonsense to synonymize it with “well-behaved”. Normal and appropriate behavior for a malign robot--which is well over half of all robots--is to gobble up everything you are physically able to get, and to demand every last thing on your shopping list, no matter how many consecutive requests are soundly denied.
Not with Cloudflare..
They can also disappear you if they don't like how you smile.
A single host is third party enough for me.
"I've implemented a JavaScript-based check on page load for requests that don’t appear to be from known good bots. It seems to be effective against the current attacks, but we’ll have more clarity by tomorrow morning. So based on my current changes the website will work only on js enabled devices. Due to a high number of requests from multiple IPs in a short period, our current Geo IP API is getting temporarily blocked because of excessive usage. As a future improvement, I suggest we consider adding an alternative Geo IP service as a fallback, so we can switch if one fails. This isn’t urgent but could be useful in a future upgrade.
TL;DR (for technically skilled community):
Our dev implemented a JavaScript-based challenge to block non-JS bots during a DDoS attack — effective short term but excludes JS-disabled clients and may not stop headless browsers (e.g. Puppeteer). The Geo IP API hit its rate limit under load; dev suggests adding a fallback service (good idea).
Suggestions for hardening:
Use a WAF/CDN (Cloudflare, AWS WAF) for Layer 7+ bot and rate protection.
Implement IP rate limiting at the server/proxy layer (e.g., NGINX + fail2ban).
Cache Geo IP results and add multi-provider failover logic.
Apply JS checks only to vulnerable endpoints, not site-wide.
Log anomaly detection and alerting for high-request patterns.
Consider fingerprinting or behavior-based bot detection for future resilience.