Files
2026-03-11 18:01:27 +08:00

17 lines
486 B
Python

from apps.users.models import LoginAttempt
def _get_ip(request) -> str | None:
if not request:
return None
x_forwarded_for = request.META.get("HTTP_X_FORWARDED_FOR")
return x_forwarded_for.split(",")[0] if x_forwarded_for else request.META.get("REMOTE_ADDR")
def record_login_attempt(request, user=None, status=LoginAttempt.StatusType.FAILED):
LoginAttempt.objects.create(
user=user,
status=status,
ip_address=_get_ip(request),
)