¿Qué significa el parámetro ALLOWED_HOSTS en settings.py, y cómo funciona cuando DEBUG = False?
En Django, ALLOWED_HOSTS es una lista que define los nombres de dominio o direcciones IP que tienen permiso para acceder a tu aplicación. Este parámetro es crucial cuando DEBUG = False, ya que se usa para evitar solicitudes no autorizadas y proteger tu aplicación de ciertos ataques, como los de falsificación de solicitudes entre sitios (CSRF).
¿Por qué es importante ALLOWED_HOSTS?
Cuando desarrollas una aplicación con DEBUG = True, Django no verifica los nombres de dominio de las solicitudes entrantes, lo cual permite acceder fácilmente desde cualquier dirección. Sin embargo, al configurar tu aplicación para producción (DEBUG = False), ALLOWED_HOSTS se convierte en una medida de seguridad esencial. Es decir, Django solo responderá a solicitudes provenientes de los dominios o IPs que figuran en esta lista, rechazando las que provengan de orígenes no autorizados.
Cómo configurar ALLOWED_HOSTS
ALLOWED_HOSTS es una lista de strings en settings.py que incluye los nombres de dominio y/o direcciones IP permitidos. Por ejemplo:
ALLOWED_HOSTS = [
'mi-sitio.com',
'www.mi-sitio.com',
'123.456.78.9',
'localhost',
]
¿Qué ocurre si ALLOWED_HOSTS no está configurado correctamente?
Si ALLOWED_HOSTS está vacío o mal configurado en un entorno de producción (DEBUG = False), Django lanzará un error Bad Request (400) al intentar acceder al sitio, indicando que la solicitud no es válida. Este error se debe a que el host desde el cual se intenta acceder no está en la lista de hosts autorizados.
Consejos para configurar ALLOWED_HOSTS correctamente
- Incluye todos los dominios y subdominios que usará la aplicación en producción.
- No utilices
'*'(comodín) enALLOWED_HOSTSen producción, ya que permite el acceso desde cualquier origen, lo que puede ser un riesgo de seguridad. - Incluye
'localhost'si necesitas realizar pruebas locales.
Con una configuración adecuada de ALLOWED_HOSTS, puedes asegurarte de que tu aplicación Django esté protegida contra solicitudes no deseadas y accesible únicamente desde los dominios autorizados.

Comentarios
Publicar un comentario