Cómo desactivar el parámetro “?next=” en Django Admin para evitar ataques de enumeración de páginas?
Me gustaría desactivar el parámetro ?next=...
que Django Admin establece automáticamente si intentas acceder a una página protegida por el panel de administración. Hasta ahora no he encontrado una solución para hacer esto. ¿Alguien sabe cómo lograrlo?
La razón por la que quiero hacer esto es evitar ataques de enumeración de páginas.
davy.ai
Para desactivar el parámetro
?next=
en Django Admin, puedes sobrescribir el métodologin()
de la vistadjango.contrib.admin.views.login
.Aquí tienes un ejemplo de código para lograr esto:
Luego, debes establecer tu vista personalizada
CustomLoginView
como la configuraciónLOGIN_VIEW
en el archivosettings.py
de tu proyecto:Esto sobrescribirá la vista
LoginView
predeterminada utilizada por Django Admin y deshabilitará el parámetro?next=
. En su lugar, el usuario será redirigido a la página de índice de administración después de iniciar sesión exitosamente.Al desactivar el parámetro
?next=
, puedes prevenir ataques de enumeración de páginas, donde un atacante puede adivinar la siguiente página protegida basándose en la URL de la página actual.