【问题标题】:Is it right way to store security fields in cookies?将安全字段存储在 cookie 中是否正确?
【发布时间】:2020-12-20 15:17:41
【问题描述】:

我尝试使用 ASP.Net Core Identity 在 cookie 中存储额外的字段。

其中一个字段是角色名称。

在 cookie 中存储角色名称是否安全?

例如,用户是否可以将角色名称从“normalUser”更改为“admin”?

我使用的是 ASP.Net Core 3.1 版本。

【问题讨论】:

  • 用户可以修改他们机器上的cookies吗? (答案当然可以,cookie 存在于他们的机器上)。那么为什么要将控制用户访问级别的东西放在用户控制的位置呢?

标签: security asp.net-core cookies asp.net-identity session-cookies


【解决方案1】:

切勿将敏感数据存储在 cookie 中。正如 mason 在评论中所说,cookie 可以被修改,这意味着它们可以被利用。此外,您的 cookie 可能是纯文本的,这更糟糕。

我建议将此类数据安全地存储在后端。

会话肯定比 cookie 更安全,因为它们存储在服务器端,但它们也可能受到攻击(会话劫持)。您需要正确配置它们以获得更好的安全性。

【讨论】:

  • tnx marvan.,我和你一起讨论 cookie。但现在为什么不访问它。
  • 现在会话确实比 cookie 更安全,因为客户端无法修改它们并且存储在服务器端。尽管它们不是 100% 安全的,因为攻击者可以执行称为“会话劫持”的操作(更多内容请参见 owasp.org/www-community/attacks/Session_hijacking_attack)。
猜你喜欢
  • 2011-01-07
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
  • 2011-07-11
  • 2010-12-06
  • 2021-07-15
相关资源
最近更新 更多