Domanda

Sono stato con Flask da qualche tempo e mi piace molto il quadro. Una cosa che non riesco a capire è che in quasi tutti gli altri luoghi si parla di memorizzazione della sessione sul server e l'id di sessione sul client, che sarebbe poi identificare la sessione. Tuttavia dopo aver usato pallone, io non sento il bisogno di farlo. Salvare la sessione come un cookie sul client serve crittograficamente il mio scopo e sembra abbastanza sicuro troppo. L'unica cosa che essendo non sono in grado di cifrare le chiavi di sessione per esempio:

session['life'] = 'the great one'

apparirebbe come

life='gfhjfkjdfa some encryption kj'

nel cookie salvati sul client. Ma come sarebbe che la materia in quanto è ancora crittografato. Sono sicuro che la gente qui conosce le cose molto meglio di me, ne facciano richiesta a qualcuno di chiarire :-)

È stato utile?

Soluzione

Anche se i dati vengono crittografati, l'utente potrebbe ancora rotolare indietro il loro biscotto a uno stato precedente (a meno che non si avvia la codifica ID di una tantum, ecc)

es. biscotto dice l'utente dispone di 100 crediti, utente spende 100 crediti, ottengono un nuovo cookie dicendo che hanno 0 crediti. Potrebbero quindi ripristinare il loro cookie precedente (con 100 crediti).

A seconda di come si crittografa il cookie, l'utente può anche essere in grado di eliminare chiavi, inserire dati falsi, ecc troppo.

Altri suggerimenti

Se è necessario i dati di sessione a livello di server, ha senso per conservarlo sul server. Si tiene giù la massa di dati inviati avanti e indietro dal client. Inoltre, i biscotti hanno un limite alla quantità di dati che possono immagazzinare.

Oltre ai punti già citati

  1. Gli utenti possono disattivare i cookie utilizzando le impostazioni del browser. Un sacco di scanner antivirus anche i cookie di scansione e la bandiera come un rischio a causa della quale, che può anche provocare cookie non essere ammessi sul computer dell'utente.

  2. I cookie possono essere cancellati dall'utente, anche nel bel mezzo della sua sessione. (In realtà, ho fatto involontariamente che l'altro giorno, quando uno dei miei scansioni del PC elencati i cookie di tracciamento ... e ho appena cliccato "Clean" ed erano tutti andati). Nel caso in cui l'utente accade per eliminare i cookie, lo stato degli utenti sarà perso.

Se si utilizzano i cookie per gestire l'intero stato, tu sei sempre dipende l'ambiente client e le relative impostazioni. In quanto tale, si avrà probabilmente bisogno di atleast un meccanismo di caduta indietro nel caso in cui i cookie vengono eliminati / disattivato, ecc in modo che la vostra applicazione per funzionare correttamente.

usi

??L'implementazione SecureCookie Flask non crittografare i valori . L'unica cosa che viene garantita è che l'utente non può modificare il cookie senza conoscere il segreto utilizzato dall'applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top