23 - IP Security
Overview
Architecture Diagram
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β IP Security Architecture β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Incoming Request
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Security Middleware β
β (WSGI Layer) β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 1. Get Real IP (check proxy headers) β β
β β CF-Connecting-IP β X-Real-IP β X-Forwarded-For β remote_addr β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 2. Check IP Ban List β β
β β - Is IP in ip_bans table? β β
β β - Is ban expired? β β
β β - Is ban permanent? β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββ΄ββββββββββββββββββββββ β
β β β β
β Banned Not Banned β
β β β β
β βΌ βΌ β
β Return 403 Continue to App β
β Forbidden β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββDetection Mechanisms
1. 404 Error Tracking
2. Invalid API Key Tracking
Configuration
Security Thresholds
Database Schema
ip_bans Table
error_404_tracker Table
IP Resolution
Proxy Header Priority
Security Middleware
WSGI Implementation
Route Decorator
Admin Interface
Security Dashboard
Manual Ban/Unban
Repeat Offender Escalation
Best Practices
Rate Limiting Integration
Whitelisting
Key Files Reference
File
Purpose
Last updated