Sto implementando la protezione CSRF utilizzando il modello di token crittografato (come per link ).
Capisco che le 2 differenze principali tra quel pattern e il pattern Double Submit Cookie sono: 1. il token stesso è un token crittografato, con scadenza 2. il token è memorizzato non in cookie, ma invece in elemento DOM o variabile JS (tramite file JS esterno minificato e offuscato).
Capisco anche che, proprio come altri metodi di prevenzione, anche questo non è sicuro se il tuo sito è vulnerabile agli attacchi XSS.
le mie domande sono: 1. quale sarebbe la scadenza raccomandata da dare al token? per esempio se la mia sessione del sito dura 12 ore, sarebbe OK impostare la scadenza di 1 ora, o si consiglia di limitarsi a minuti / secondi? 2. Come gestisci la scadenza dalla prospettiva UX, nel caso in cui la scadenza sia breve? per esempio - se la pagina è stata caricata su 0sec, ma l'azione è stata inviata dall'utente a 80sec e la scadenza è 60 secondi - il token inviato sarebbe scaduto e l'azione non sarebbe riuscita.
Grazie, Gonen