it-swarm.cn

如何以安全的方式使用cookie来验证用户身份?

在大多数情况下,我喜欢使用cookie来记住将用户返回到我的网站。

在我早期/愚蠢的日子里,我会在一个cookie中存储一个UserID(自动增量整数),如果用户返回,我会使用该cookie值自动记录它们。这是一个坏主意,因为有人可以轻松编辑cookie以使用不同的整数并以其他人身份登录。

如果UserID是GUID,是否可以以相同的方式存储UserID?

存储“记住我”cookie的最佳做法是什么?

7
jessegavin

您应该考虑使用sessions来处理这种情况。

会话通常通过为用户的身份验证生成唯一的GUID并将其保存在用户本地计算机上的cookie中,或者通过URL将其传递到页面之间。

此会话GUID指向服务器上的文件或数据库条目,然后通过将用户的cookie/URL中的GUID与之关联起来,由源代码读取和写入该文件或数据库条目。 GUID用于保存数据的文件或数据库条目。

在会话中放置更多敏感数据(例如用户ID)通常是安全的,因为除了会话GUID之外,最终用户看不到任何内容。

大多数基于Web的语言都会内置某种会话管理。

2
Nat Ryall

保存两个饼干:

  • UserId:包含用户ID
  • Password:包含用户密码的SHA1

非常简单和安全。 记住HttpOnly属性

1
Thomas Bonini