A banned IP is refused with HTTP 403 on every request, including admin pages, before any rate limiting or scoring takes place. Each refused request is logged with category banned and signal active_ban. Bans are checked after the allowlist, so an allowlisted IP is never blocked by a ban.
Only Global Admins can place or lift bans. Site admins can view them.
Automatic bans
When Automatically ban IPs that reach the block threshold is on (the default), any request that scores at or above the current mode's block threshold bans its IP for the Auto-ban duration (default 1 hour, minimum 60 seconds). The ban is recorded with reason auto_score and placed by system. If the IP already has an active ban, no second ban is created.
Automatic bans are always temporary. To make one permanent, lift it and place a manual ban with duration 0.
Banning an IP manually
- Open the IP's detail page, either by clicking the IP anywhere on the dashboard or by visiting
/admin/traffic-guard/ip/{ip}. - Under Ban Management, set Duration (hours, 0 = permanent). The default is 24 hours; the maximum the form accepts is 8760 (one year).
- Optionally add Notes (up to 500 characters), for example the reason for the ban.
- Click Ban IP and confirm.
The ban appears in the Ban History table with reason manual. If the IP already has an active ban, the new request is ignored and the existing ban stays as it is.
Lifting a ban
- Open the IP's detail page. If the IP is banned, the page says so and lists a Lift Ban #N button for each active ban.
- Click the button and confirm.
The ban is marked as lifted immediately and the IP can browse again. Lifted bans stay in the Ban History until the next log purge removes them.
Ban expiry
Timed bans expire on their own; nothing needs to be done. The Active Bans panel on the dashboard shows each ban's expiry time in UTC. Expired bans remain visible in the IP's Ban History for seven days and are then deleted by the purge job (see Purging Logs).
Excluding IPs from bans
An IP on the allowlist can never be banned automatically, because allowlisted requests skip inspection entirely. Add your own addresses there before enabling stricter modes; see IP Allowlist.