ti-enxame.com

Como usar cookies de maneira segura para autenticar usuários?

Na maioria dos casos, gosto de usar cookies para lembrar o retorno de usuários aos meus sites.

Nos meus primeiros dias/tolices, eu armazenava um UserID (número automático de incremento automático) em um cookie e, se o usuário retornasse, usaria esse valor de cookie para fazer login automaticamente. Essa foi uma péssima idéia, porque alguém poderia editar facilmente o cookie para usar um número inteiro diferente e fazer login como outra pessoa.

É bom armazenar um UserID da mesma maneira se o UserID for um GUID?

Quais são as práticas recomendadas para armazenar cookies "lembre-se de mim"?

7
jessegavin

Você deve considerar usar sessões para lidar com esse tipo de cenário.

As sessões geralmente funcionam gerando um GUID exclusivo para a autenticação do usuário e salvando-o em um cookie na máquina local do usuário ou passando-o, de página para página, pelo URL.

Esta sessão GUID aponta para uma entrada de arquivo ou banco de dados no servidor que pode ser lida e gravada pelo seu código-fonte, associando o GUID no cookie/URL do usuário ao GUID da entrada de arquivo ou banco de dados que contém seus dados.

Geralmente, é seguro colocar dados mais confidenciais (como o ID do usuário) nas sessões, pois nada é visível para o usuário final, exceto o GUID da sessão.

A maioria dos idiomas baseados na Web terá algum tipo de gerenciamento de sessões incorporado.

2
Nat Ryall

Salve dois cookies:

  • UserId: contém o ID do usuário
  • Password: contém o SHA1 da senha do usuário

Muito fácil e seguro. Lembre-se do atributo HttpOnly .

1
Thomas Bonini