In base a foglio trucchi per la prevenzione di falsi siti (CSRF) , il la soluzione consigliata per proteggere il sito Web dall'attacco di CSRF è implementare il token pattern di sincronizzazione. E ciò richiede che il token sia casuale o unico.
E recentemente, stiamo cercando di applicare questo al nostro sito web. E uno dei miei college desidera generare il token crittografando l'id dell'utente di accesso corrente concatenando un timestamp con una password sicura. E poi aggiungi il token nel modulo.
Quando l'utente esegue l'accesso, impostiamo un cookie id utente registrato nel nostro dominio del sito e il percorso root /. Quindi, se riusciamo a trovare questo speciale cookie, otterremo l'ID dell'utente registrato.
Quando otteniamo il token, proviamo a decodificarlo per ottenere un ID utente e un timestamp. Quindi confrontiamo l'ID utente con l'id dell'utente di accesso corrente e utilizziamo i timestamp per verificare se i timeout dei token.
Quindi voglio sapere se funziona e quali sono i pro e i contro?
Il motivo per cui proviamo a farlo è che cerchiamo di evitare le sessioni. Alcuni framework come Struts2 hanno implementazioni integrate basate su sessioni.