Il mio sito Web ha una vista AJAX POST che può essere richiamata da qualsiasi pagina sull'app (tracciamento eventi). Questa vista è protetta da CSRF. In alcuni casi, il cookie CSRF non è impostato e la chiamata POST fallisce.Django: Forzatura del token CSRF su tutte le risposte
Invece di decorare manualmente tutte le viste con @ensure_csrf_cookie
,
sto pensando di scrivere
ho creato un middleware che impone Django per impostare il cookie CSRF su tutte le risposte. Questo approccio è corretto? Non crea un difetto di sicurezza di cui non sono a conoscenza?
Aggiornamento: Ecco il codice middleware:
from django.middleware.csrf import get_token
class ForceCsrfCookieMiddleware(object):
def process_request(self, request):
get_token(request)
sicurezza difetto? Penso di no. Perché stai semplicemente implementando la funzionalità di 'ensure_csrf_cookie' in un middleware. Anche se, leggi il codice sorgente di quel decoratore. – xyres