Sessioni e Logging

Dunque, ho testato il funzionamento di jQuery, ho smanettato con Sass, e
ho
esplorato un pochino l’albero delle cartelle del mio progetto…

Mi chiedevo come poter gestire le sessioni nella mia attualmente unica
homepage, e creare un rudimentale meccanismo di log (la mia home
attualmente bianca con qualche scritta XD).

Non pretendo che mi spiegate tutto dalla ML, ma se avete delle risorse
web
da condividere sull’argomento ne sarei lieto (ho gi spulciato la guida
introduttiva a rails, ma non mi sembra tratti molto l’argomento, almeno
non
dal punto di vista pratico…)

Prova con Devise

se vuoi avere anche dei “ruoli” (admin, superuser, registered, etc etc)
puoi usare can can

Altrimenti se vuoi capire come funziona e fare “from scratch” c’e’ un
ottimo railscast:

ciao!

sul RailsCast di Davide:

cosa si intende per “password_salt”?

Il giorno 13 dicembre 2011 11:53, Luca B. [email protected] ha
scritto:

Il 13 dicembre 2011 21:03, Luca B. [email protected] ha scritto:

sul RailsCast di Davide:
#250 Authentication from Scratch - RailsCasts

cosa si intende per “password_salt”?

Ciao,

i dettagli puoi vederli qua:
http://it.wikipedia.org/wiki/Sale_(crittografia)

In breve: normalmente, le password non vengono conservate in chiaro
(non nei sistemi seri), per ovvi motivi di sicurezza; si conserva,
invece, una loro trasformazione tramite una funzione di hash.
Queste funzioni hanno una propriet: facile passare dalla password
al suo hash, e invece difficilissimo risalire dall’hash alla
password.

Quindi, quando digiti la password, viene applicata la funzione di hash
e il risultato viene confrontato con l’hash conservato.

Questo meccanismo, teoricamente sicuro, per suscettibile di un
certo tipo di attacco: se, infatti, il malintenzionato ottenesse
l’accesso in lettura al db degli hash delle password, potrebbe tentare
un attacco di forza bruta, calcolando l’hash (il cui algoritmo in
genere pubblico) di tutte le parole di un dizionario e/o le password
pi comunemente usate (tipo “qwertyuiop”, “password”, “12345”…) e
confrontarle con il db degli hash, con altissime probabilit di
trovare numerose corrispondenze.

La soluzione aggiungere un po’ di sale, ovvero: si sceglie una
stringa casuale segreta e la si aggiunge alla password prima di
applicare la funzione di hash. Se, ad esempio, la mia password
“pippobaudo” (cit.), e il sale “23r09n2”, la funzione di hash si
applica a “pippobaudo23r09n2” e viene conservato il risultato,
rendendo cos vano l’attacco di forza bruta.

Ovviamente, perch questo funzioni, il sale dev’essere conservato in
un luogo separato rispetto all’hash delle password, altrimenti tutto
inutile.

pietro

Legger anche la pagina di wikipedia, ma gi la tua spiegazione mi basta,
sono ignorante nel campo della sicurezza, non avendo mai fatto un
progetto
da zero…

Sempre sullo stesso RailsCast ho notato che l’autore a un certo punto
dice
di utilizzare la gemma bcrypt-ruby, fondamentale? Non c’ un modo
analogo senza andare a ritoccare il bundle standard di Rails 3.1? (la
mia
versione appunto 3.1.3 mentre quella del railcast 3.0.4 mi pare…)

Non che mi dia troppo fastidio, solo che vorrei imparare le cose
gradualmente, se mi devo imparare ogni volta una gemma nuova affitto
domani!

Il giorno 13 dicembre 2011 21:39, Pietro G. [email protected]
ha
scritto:

Grazie, si voglio capire “from scratch”, appena posso mi spulcio quanto
mi
hai passato, sembra proprio quello che cercavo!

Il giorno 13 dicembre 2011 11:08, Davide R.
<[email protected]

ha scritto:

Il 14 dicembre 2011 09:21, Luca B. [email protected] ha scritto:

Sempre sullo stesso RailsCast ho notato che l’autore a un certo punto dice
di utilizzare la gemma bcrypt-ruby, fondamentale? Non c’ un modo
analogo senza andare a ritoccare il bundle standard di Rails 3.1? (la mia
versione appunto 3.1.3 mentre quella del railcast 3.0.4 mi pare…)

Scusa, non capisco il problema. Soprattutto, non c’ un bundle
standard di rails, c’ il bundle della tua applicazione.

Se vuoi che la tua applicazione modifichi immagini, aggiungerai una
gem rmagick (o simili), se vuoi usare haml aggiungerai la gemma haml,
se vuoi gestire allegati aggiungerai paperclip, se vuoi usare
postgresql userai pg e cos via.

Non devi ritoccare niente, solo specificare, nel tuo Gemfile, che vuoi
usare una certa gemma.

L’alternativa ovviamente c’: implementare tu, da zero, un algoritmo
di hash per le password, che volendo pu anche essere un esercizio
interessante, purch tu non lo metta mai in produzione, dato che hai
detto di non essere un esperto di sicurezza…

pietro

Il giorno 14 dicembre 2011 11:46, Pietro G. [email protected]
ha
scritto:

interessante, purch tu non lo metta mai in produzione, dato che hai
detto di non essere un esperto di sicurezza…

pietro


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

ok, grazie per la risposta, user questo bcrypt dunque!