La differenza tra un cookie e una sessione

Questa è una domanda che normalmente si apre per chi è nuovo al web design o alla programmazione per il web.

O forse hai sentito che i tuoi cookie possono essere rubati e sei preoccupato per le implicazioni sulla sicurezza?

In ogni caso, è una domanda valida e molto facile da rispondere. Saltiamo dentro.

Cos'è un cookie?

Un cookie è un file lato client che contiene informazioni. Queste informazioni potrebbero essere gli articoli in un carrello della spesa o una combinazione di nome utente e password. (1)

Attenzione però, c'è un lato pericoloso per i cookie.

Ho sentito alcune storie horror di biscotti rubati. Gli hotspot Wi-Fi pubblici possono essere il terreno di gioco per gli hacker che rubano i tuoi cookie. (2)

Rubando un cookie, un hacker può ottenere informazioni personali su di te. Possono persino rubare i tuoi dati bancari. Yikes. (2)

È consigliabile eliminare i cookie prima di connettersi a un hotspot Wi-Fi. Certo, è un fastidio dover inserire di nuovo tutte le informazioni, ma piuttosto sicuro che dispiaciuto, giusto?

Basta non dimenticare la password e non accedere a siti Web sensibili in cui i dati della carta di credito vengono memorizzati su una rete Wi-Fi pubblica. Questo dovrebbe tenerti al sicuro.

Cos'è una sessione?

Una sessione può avere molte definizioni diverse. Ad esempio, una sessione può essere avviata quando si accede al computer e si interrompe quando si spegne. (3)

Nel contesto della programmazione, tuttavia, è usato principalmente in PHP (che è un linguaggio lato server). (3)

In questo caso una sessione è una parte variabile delle informazioni memorizzate sul lato server di un sito web. Questo può essere un'unità di variabili, stato o impostazioni. (3)

Le sessioni sono più sicure dei cookie, dal momento che sono normalmente protette da qualche tipo di sicurezza lato server. Ciò tuttavia non li rende infallibili. Dai un'occhiata al momento in cui il negozio Playstation è stato violato.

È molto raro che succedano cose come queste, comunque. In genere puoi essere certo che le tue informazioni saranno al sicuro sul lato server.

Cookies e sessioni mano nella mano

Possono avere le loro differenze, ma questi due lavorano mano nella mano, per lo più.

La sessione può contenere il nome utente e la password, mentre si ottiene un cookie memorizzato sul PC. Questo cookie avrà un ID specifico che rimanda alla sessione alla successiva connessione online. (4)

Questo è in genere ciò che accade quando si controlla l'opzione "ricordami" mentre si fornisce al sito il nome utente e la password.

È anche il modo in cui funziona quando acquisti in un negozio online e il negozio ricorda il contenuto del carrello, anche dopo che hai effettuato la disconnessione.

Problemi di sicurezza

Puoi crittografare i tuoi cookie per aumentare la sicurezza di una quantità enorme. Di solito questo significa assumere una compagnia o pagare per un servizio che fa questo per te.

Farlo da solo, a meno che tu non sia un programmatore di alto livello, probabilmente non otterrai nulla e finirai con il mal di testa.

Per ulteriori informazioni sulla protezione dei cookie, puoi controllare questo post.

 Ora sai

Non c'è molto di più in questo. È abbastanza facile e sostanzialmente si riduce a:

  • Cookies = Lato client
  • Sessione = lato server

Sommario

biscotto Sessione
File lato client File lato server
Trasporta il rischio (se non protetto) Sicuro
Memorizza le informazioni finché non vengono eliminate o scadute Ricorda le informazioni fino al timeout del sito web
Di solito contiene una stringa di identificazione Di solito contiene informazioni più complesse
Link identificativi specifici al server Link identificativi specifici per utente