L'impostazione dei cookie di accesso permanenti "permanenti" è una cattiva pratica?

2

Mi sono reso conto che in Rails esiste un metodo costruito in permanent per i suoi cookie di accesso persistenti (noti come "ricordami") metodo per fornire al client un cookie che scade tra 20 anni:

cookies.permanent[:remember_token] = remember_token

Tuttavia sembra che in molti siti Web i cookie scadano in un periodo di tempo molto più breve, ad esempio 3 mesi o 2 settimane, dopodiché il client dovrà effettuare nuovamente l'accesso.

È davvero una brutta pratica impostare un cookie di accesso persistente da conservare in modo permanente? Perché o perché no? Se è male, perché sembra che un numero considerevole di sviluppatori lo stiano facendo, così che Rails ha fornito un metodo integrato per supportare la pratica.

    
posta xji 08.03.2015 - 14:59
fonte

2 risposte

3

Ricordati che i cookie sono un tipo speciale di cookie perché consentono all'utente di ignorare fornendo le informazioni di autenticazione, mentre altri cookie possono semplicemente tenere traccia di quali pagine sei stato o di cosa è presente nel tuo carrello come non connesso (non autenticato ) e non sono molto rischiosi se non nella misura in cui si presume che tali informazioni siano private.

In primo luogo, direi che tutte le piattaforme hanno cose che non sono le migliori pratiche, e le hanno per tutti i tipi di ragioni (retrocompatibilità, inerzia, ecc.). Tutti sono anche molto più consapevoli di una varietà di vettori di attacco rispetto a nel passato. Nel caso di ricordami i cookies perché stai memorizzando informazioni che possono essere utilizzate per accedere devi pensare attentamente ai compromessi di sicurezza e convenienza.

Quindi, nel pensare di ricordare i cookie, devi considerare (almeno)

  • I rischi di qualcuno che ha accesso al browser che non è il utente originale. Ad esempio, cosa succede se il cookie viene rilasciato su a computer in una biblioteca pubblica e un utente lascia e il prossimo si siede verso il basso.
  • I rischi associati a qualcuno che copia il cookie e lo utilizza un computer diverso (specialmente un problema in cui vedi persone che usano ricorda i cookie nei computer di casa per evitare di gestire la password ripristina e invia

  • Il rischio che qualcuno possa decrittografare l'autenticazione informazioni nel cookie e usarlo per accedere al tuo sito o, se contiene (come molti altri erano e probabilmente lo sono ancora) alcune versioni del nome utente e della password non solo la rendono possibile accedere al tuo sito ma anche dare accesso ad altri siti in cui la stessa password è utilizzata dallo stesso utente.

Personalmente, non userei un permanente / 20 anni ricordami biscotto a causa di questi problemi e di altri come loro. Sì, sono errori dell'utente (utilizzando la stessa password, controllo ricordami nella libreria, ecc.) Ma sono i tipi di errori umani che si verificano. Per non parlare di ciò che supera l'aspettativa di vita dell'hardware. Se hai davvero un utente che non ha effettuato il login per 20 anni, penserei che vorresti che fosse lui a fornire le credenziali. (Se eseguono il login, devi sempre aggiornare e rilasciare un nuovo cookie, gli utenti attivi di remember me non dovrebbero conservare lo stesso cookie per 20 anni.)

Inoltre, se utilizzi ricordami, devi assicurarti di forzare l'autenticazione reale quando cambi password, indirizzo email, altre informazioni di contatto e qualsiasi attività di e-commerce.

    
risposta data 08.03.2015 - 16:44
fonte
0

L'utilizzo di cookie permanenti dipende da come lo si utilizza. Può essere un vantaggio per migliorare l'esperienza dell'utente, come il login automatico, ecc. Ma ricorda che lasciare un cookie per un lungo periodo potrebbe persino trasformarsi in una vulnerabilità. Quindi è meglio impostare il cookie in modo che rimanga per quanto tempo è effettivamente necessario piuttosto che optare per una cosa permanente.

    
risposta data 09.03.2015 - 14:09
fonte

Leggi altre domande sui tag