È possibile aggiungere dinamicamente il token CSRF ai moduli tramite JavaScript. Ma devi essere a conoscenza di un paio di problemi:
- Se disponi di moduli interdominio, devi fare attenzione che il tuo codice JavaScript non aggiunga token CSRF a loro, in quanto perderebbe il token.
- Se la tua applicazione richiede agli utenti senza il massimo livello di privilegio di creare moduli, allora possono eseguire attacchi CSRF poiché i token verranno aggiunti automaticamente.
- L'iniezione HTML porterà a CSRF tramite l'iniezione di un modulo, il che aumenta un po 'l'impatto dell'iniezione HTML. Allo stesso modo, se autorizzi un sottoinsieme di HTML per alcuni utenti e il tuo filtro presenta una vulnerabilità che consente la creazione di moduli, sarai vulnerabile a CSRF.
Non correlato: i token CSRF devono sempre essere in due punti; l'approccio più comune è archiviarli lato server nella sessione e in un altro punto (ad es. inviarli in un modulo). Questo sembra essere quello a cui ti stai riferendo nella tua domanda. Con questo approccio, la memorizzazione del token in un cookie anziché in un modulo non funzionerà (verrà sempre inviata e verrà convalidata rispetto al token sul lato server). La memorizzazione del token in un cookie verrebbe utilizzata al posto della memorizzazione sul lato server. Devi ancora inviarlo, ad esempio tramite il modulo.