> Dai una occhiata a come Flask usa le sessioni. Ti risparmieresti un sacco >> di grattacapi (tra cui la necessita' di condividere le sessioni su piu' >> server quando vuoi distribuire l'applicazione). >> > > Ho realizzato qualcosa di molto simile a quello in uso da Flask, ma alla fine sono giunto alla conclusione che non è poi così usabile come soluzione. Se salvassi sul client un dizionario serializzato con pickle e poi con codificato con base64 l'utente se a conoscenza dei dettagli di implementazione dell'applicazione (in qualche modo viene a sapere che si usa un framework opensource), potrebbe facilmente ricavarsi i dati di tale implementazione, quindi decodificare il dizionario, modificarlo e modificare il cookie con il nuovo valore.
Avere un hash da qualche parte per verificarne il contenuto implicherebbe comunque una persistenza dei dati server side perchè finita la richiesta perdiamo tutti i dati e bisogna salvare l'hash e quindi poi poterlo riconoscere. Potrei ovviare al problema usando una keyword "secret" e con un algoritmo di crittazione a chiave simmetrica, in modo da ricostituire poi il testo originale e ripete l'algoritmo all'inverso per deserializzare il dizionario, ma a questo punto dovendo perdere tempo a fare tutti questi calcoli mi chiedo se realmente sia significativamente più efficente di una classica soluzione file-based o db based (attualmente non supportata). Se sbaglio qualcosa correggetemi pure. Riguardo la possibilità di race conditions per l'implementazione attuale, come dovrebbe comportarsi il session manager quando il file è già sotto un lock? Dovrebbe aspettare che il file sia accessibile? oppure dovrebbe semplicemente sollevare una eccezione, o ritornare silenziosamente al flusso dell'applicazione senza aver fatto nulla? Grazie mille. PS. se in qualche modo creo disturbi scrivendo qui vi prego di farmelo sapere, grazie.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python