2014-11-18 7 views

risposta

4

Un token CSRF è un valore che deve essere generato in modo casuale e associato a una sessione (un utente) in OGNI GET che mostra un modulo per impedire il falso POST. Questo falso POST proviene anche dal browser dell'utente, per autenticare il POST, è necessaria una sessione con il token memorizzato nella memoria del server per confrontare se il token fornito con il POST è lo stesso che è memorizzato nella sessione utente.

Inoltre, la richiesta di un'app web per identificare gli utenti in un token GET e CSRF è solo nel POST.

La sessione deve essere statica per identificare l'utente nel tempo e diverse richieste a causa della natura disconnessa di HTTP. CSRF cambia in ogni GET, non può essere usato come sessione.

Nell'altra mano. Quale server dovrebbe fare con la tua idea? Creare una nuova sessione ogni GET e copiare tutti i dati della sessione precedente nella nuova sessione? Questo è pazzesco.

Dai uno sguardo allo this pdf presso la Montana State University. Mi aiuta a capire CSRF.

+0

"** I token CSRF sono solo nel POST **" errati! Penso che la tua intera idea sui token csrf sia sbagliata. –

+0

Quindi anche la Montana State University ha torto ... Quindi, come ti manda un token CSRF in un GET ?. Nella stringa di query? E perché vorresti farlo se in un GET non dovresti eseguire alcuna operazione che deve essere autenticata. – jlvaquero

+1

Risposta breve: la sessione deve essere statica per identificare l'utente nel tempo. CSRF cambia in ogni GET quindi Se stai ripetendo i token CSRF per usarli come sessione, stai sbagliando. – jlvaquero

Problemi correlati