A diferença entre um cookie e uma sessão

Essa é uma pergunta que normalmente aparece para quem é iniciante em web design ou programação para a web..

Ou talvez você tenha ouvido seus cookies serem roubados e esteja preocupado com as implicações de segurança?

De qualquer forma, é uma pergunta válida e muito fácil de responder. Vamos pular.

O que é um Cookie?

Um cookie é um arquivo do lado do cliente que contém informações. Essas informações podem ser os itens de um carrinho de compras ou uma combinação de nome de usuário e senha. (1)

Cuidado, porém, há um lado perigoso dos cookies.

Eu ouvi algumas histórias de horror de cookies sendo roubados. Os hotspots Wi-Fi públicos podem ser motivo de invasão para hackers que roubam seus cookies. 2)

Ao roubar um cookie, um hacker pode obter informações pessoais sobre você. Eles podem até roubar seus dados bancários. Caramba. 2)

É uma prática recomendada excluir seus cookies antes de conectar-se a um ponto de acesso Wi-Fi. Claro, é um incômodo ter que inserir todas as suas informações novamente, mas é mais seguro do que remediar, certo?

Apenas não esqueça sua senha e não entre em sites confidenciais onde os detalhes do seu cartão de crédito são armazenados quando em uma rede Wi-Fi pública. Isso deve mantê-lo seguro.

O que é uma sessão?

Uma sessão pode ter muitas definições diferentes. Por exemplo, uma sessão pode ser iniciada quando você faz logon no computador e interrompida quando você é desligado. (3)

No contexto da programação, no entanto, é usado principalmente em PHP (que é uma linguagem do lado do servidor). (3)

Nesse caso, uma sessão é uma informação variável armazenada no lado do servidor de um site. Pode ser uma unidade de variáveis, estado ou configurações. (3)

As sessões são mais seguras que os cookies, pois normalmente são protegidas por algum tipo de segurança no servidor. Isso não os torna infalíveis, no entanto. Basta olhar para o momento em que a loja Playstation foi invadida.

É muito raro que coisas assim aconteçam, no entanto. Geralmente, você pode ter certeza de que suas informações estarão seguras no servidor.

Cookies e sessões de mãos dadas

Eles podem ter suas diferenças, mas esses dois trabalham de mãos dadas, principalmente.

A sessão pode conter seu nome de usuário e senha, enquanto você obtém um cookie armazenado no seu PC. Este cookie terá um ID específico vinculado à sessão na próxima vez que você ficar online. 4)

Normalmente, isso acontece quando você seleciona a opção "lembre-se de mim" enquanto fornece ao site seu nome de usuário e senha.

Também é assim que funciona quando você faz compras em uma loja on-line, e a loja lembra o conteúdo do seu carrinho - mesmo depois que você se desconecta.

Preocupações com segurança

Você pode criptografar seus cookies para aumentar a segurança em uma quantidade enorme. Geralmente, isso significa contratar uma empresa ou pagar por um serviço que faz isso por você.

Faça você mesmo, a menos que você seja um programador de alto nível, provavelmente não conseguirá nada e você acabará com dor de cabeça.

Para mais informações sobre como proteger seus cookies, você pode conferir esta postagem.

 Agora você sabe

Não há muito mais do que isso. É bem fácil e basicamente se resume a:

  • Cookies = lado do cliente
  • Sessão = Lado do servidor

Sumário

Bolacha Sessão
Arquivo do lado do cliente Arquivo do lado do servidor
Carrega risco (a menos que esteja seguro) Seguro
Lembra informações até que você tenha sido excluído ou expirado Lembra informações até o tempo limite do site expirar
Geralmente contém uma sequência de id Geralmente contém informações mais complexas
Links de identificador específico para o servidor Links de identificador específicos para o usuário