Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/49df17c8-213a-4e23-adfe-465a0104f6a3 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com>
1.2 KiB
_get_client_ip
Archivo: tienda/views.py
Tipo: Función auxiliar privada
Descripción
Obtiene la dirección IP real del cliente a partir de la petición HTTP.
Cuando la aplicación se encuentra detrás de un proxy inverso (como Nginx), la IP real del cliente viaja en la cabecera X-Forwarded-For. Esta función la extrae y devuelve la primera IP de la cadena. Si dicha cabecera no está presente, devuelve el valor de REMOTE_ADDR.
Firma
def _get_client_ip(request: HttpRequest) -> str:
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
request |
HttpRequest |
Petición HTTP de Django. |
Retorno
Cadena de texto con la dirección IP del cliente. Devuelve una cadena vacía si no hay ninguna disponible.
Uso interno
Llamada desde login, register y logout para incluir la IP del cliente en los registros de auditoría.
Caution
La cabecera
X-Forwarded-Forpuede ser falsificada por un cliente malicioso. Confiar en ella para control de acceso o límites de tasa sin validación adicional conlleva riesgos de seguridad.