Fix: wrong ip in login logs

This commit is contained in:
Lorenzo Venerandi
2026-03-09 18:31:56 +01:00
parent ad8440c3d8
commit ba3e6c655d
3 changed files with 7 additions and 2 deletions

View File

@@ -133,6 +133,10 @@ def create_app() -> FastAPI:
response: Response = await call_next(request)
# Banned requests are already logged by BanCheckMiddleware
if getattr(request.state, "banned", False):
return response
client_ip = get_client_ip(request)
path = request.url.path
method = request.method

View File

@@ -29,6 +29,7 @@ class BanCheckMiddleware(BaseHTTPMiddleware):
get_access_logger().info(
f"[BANNED] [{request.method}] {client_ip} - {request.url.path}"
)
request.state.banned = True
transport = request.scope.get("transport")
if transport:
transport.close()

View File

@@ -16,7 +16,7 @@ from fastapi import APIRouter, Request, Response, Query, Cookie
from fastapi.responses import JSONResponse, PlainTextResponse
from pydantic import BaseModel
from dependencies import get_db
from dependencies import get_db, get_client_ip
from logger import get_app_logger
# Server-side session token store (valid tokens for authenticated sessions)
@@ -52,7 +52,7 @@ def verify_auth(request: Request) -> bool:
@router.post("/api/auth")
async def authenticate(request: Request, body: AuthRequest):
ip = request.client.host
ip = get_client_ip(request)
# Check if IP is currently locked out
record = _auth_attempts.get(ip)