Bot defense
Dhal scores suspicious bot-like requests using headers, user agents, and automation signals.
{
"rules": {
"bot": {
"enabled": true,
"scoreThreshold": 70,
"blockEmptyUserAgent": false,
"suspiciousUserAgents": [
"headlesschrome",
"phantomjs",
"selenium",
"puppeteer",
"playwright",
"python-requests",
"aiohttp"
],
"falsePositiveControls": {
"minSignals": 2,
"skipStaticAssets": true,
"ignorePaths": ["/healthz", "/health", "/readyz", "/favicon.ico"],
"ignorePrivateIps": false
}
}
}
}
False-positive controls
Use:
minSignalsto require multiple indicators;skipStaticAssetsto avoid noisy asset requests;ignorePathsfor health checks and known safe routes;allowUserAgentsfor trusted automated clients.
Rollout
Start bot rules in monitor, inspect events, then enforce on sensitive routes.