initial commit
This commit is contained in:
16
apps/users/utils.py
Normal file
16
apps/users/utils.py
Normal file
@@ -0,0 +1,16 @@
|
||||
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),
|
||||
)
|
||||
Reference in New Issue
Block a user