[Python] Spyro - web framework open source per Python3 in sviluppo ricerca collaboratori
lex mlist
lexmlist a gmail.com
Sab 9 Apr 2011 15:03:50 CEST
> 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.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110409/63277947/attachment.html>
Maggiori informazioni sulla lista
Python