diff --git a/docs/FORO.md b/docs/FORO.md index 0d95111..fd20a59 100644 --- a/docs/FORO.md +++ b/docs/FORO.md @@ -59,12 +59,11 @@ en `forum/permissions.py`: - Acceso a temas de foros ocultos/borrados bloqueado también por URL directa (no solo en los listados). -> ⚠️ **Recomendación para todo el sitio** (fuera del foro): `novawow/settings.py` -> no incluye `django.middleware.csrf.CsrfViewMiddleware`, por lo que el resto de -> formularios POST del portal (app `home`) **no** validan CSRF. El foro está -> protegido con `@csrf_protect`, pero conviene activar el middleware global y -> revisar que las vistas POST de `home` lleven `{% csrf_token %}` (algunas ya lo -> llevan; las AJAX usan `@csrf_exempt`). +> ✅ **CSRF global activado** (todo el portal): `novawow/settings.py` ya incluye +> `django.middleware.csrf.CsrfViewMiddleware`. Las peticiones AJAX (jQuery) envían +> la cabecera `X-CSRFToken` automáticamente (`$.ajaxSetup` en `partials/head.html`), +> los formularios nativos llevan `{% csrf_token %}`, y solo los webhooks externos +> (`stripe_webhook`, `sumup_webhook`) mantienen `@csrf_exempt`. ## Editor diff --git a/home/templates/partials/head.html b/home/templates/partials/head.html index 9248f1d..bf117cb 100644 --- a/home/templates/partials/head.html +++ b/home/templates/partials/head.html @@ -40,6 +40,19 @@ + + + diff --git a/home/templates/partials/register.html b/home/templates/partials/register.html index e83bcfe..34e03a6 100644 --- a/home/templates/partials/register.html +++ b/home/templates/partials/register.html @@ -55,6 +55,7 @@