Se sei sicuro che l’utente sia uno, o qualcosa del genere, potresti fare
a
meno del tutto di preoccupartene dentro rails, e usare invece
l’autenticazione http del web server… ti semplifichi la vita!
per user e password, se proprio sei certo che si tratta di un solo
utente e non vuoi scomodare una tabella sul database, puoi sempre
usare un file, magari al suo interno la password la codifichi a monte
con MD5, un po’ come /etc/shadow sui *nix
per tutto il resto, la prassi è quella di un db.
non la considererei una best practice, ma se è quello che vuoi
ottenere, una strada potrebbe essere questa
con la basic authentication
non c’è possibilita di logout, ossia se non chiudi il browser rimane
loggato,
a parte questo piccolo problema è una scelta ottima
con la basic authentication
non c’� possibilita di logout, ossia se non chiudi il browser rimane
loggato,
a parte questo piccolo problema � una scelta ottima
la basic authentication è gestita dal browser l’autenticazione passa
codificata nell’header della request
la codifica è base64, e ovviamente esiste una decodifica… non stiamo
parlando di criptatura quindi
non menzionerei la sicurezza quando si parla di basicautentication.
non è sicura, o meglio se il tuo cliente passa da un proxy o c’è un
attacco
man in the middle, chi è in mezzo ha la possibilità di loggarsi con il
tuo
account senza nessuna fatica.
se invece c’è SSL, reperire la password che passa codificata è molto più
difficile.
rimane però il problema del logout
Firefox ha un’estensione chiamata web developer toolbar. Installa per
l’appunto una toolbar con un menu Miscellaneous, Clear Private Data…,
HTTP Authentication che cancella le credenziali di autenticazione HTTP
senza dover chiudere il browser. Comodo per chi sviluppa.
A parte questo, trattandosi di un’applicazione per un solo utente le
fasi di login e di logout possono essere facilmente controllate per cui
anche chiudere il browser potrebbe essere accettabile. L’unico vero
problema è l’invio in chiaro della password, cosa che fanno anche i
soliti form di autenticazione web a meno che i dati non viaggino su
https.
Di nuovo, trattandosi di un’applicazione mono utente potresti generarti
il tuo certificato per l’HTTPS e installarlo sul server e sul client. In
questo modo fai SSL senza pagare Verisign & Co.
Paolo
Simone F. wrote:
la basic authentication è gestita dal browser l’autenticazione passa
codificata nell’header della request
la codifica è base64, e ovviamente esiste una decodifica… non stiamo
parlando di criptatura quindi
non menzionerei la sicurezza quando si parla di basicautentication.
non è sicura, o meglio se il tuo cliente passa da un proxy o c’è un
attacco
man in the middle, chi è in mezzo ha la possibilità di loggarsi con il
tuo
account senza nessuna fatica.
se invece c’è SSL, reperire la password che passa codificata è molto più
difficile.
rimane però il problema del logout
Ma tipo, lasciando stare per un momento la transazione e la basicauth:
user e pass, non posso salvarli come costanti nel controller dell’admin
(sempre per via del fatto che l’utente lo decido io ed è unico)? Li
intanto sono al sicuro giusto?
Poi ovviamente devo assicurarmi che non vengano pescate dalla request.
Luca
Simone F. wrote:
la basic authentication è gestita dal browser l’autenticazione passa
codificata nell’header della request
la codifica è base64, e ovviamente esiste una decodifica… non stiamo
parlando di criptatura quindi
non menzionerei la sicurezza quando si parla di basicautentication.
non è sicura, o meglio se il tuo cliente passa da un proxy o c’è un
attacco
man in the middle, chi è in mezzo ha la possibilità di loggarsi con il
tuo
account senza nessuna fatica.
se invece c’è SSL, reperire la password che passa codificata è molto più
difficile.
rimane però il problema del logout