关于asp.net mvc:cookie中的缓存角色是否安全?

Is caching roles in cookies secure?

在cookie中缓存用户角色会是一个安全问题吗?他们可以解密cookie并将其角色更改为类似于Admin吗?解决这个问题的好方法是什么?


以下是一个很好的读物:

这种新的ASP.NET安全漏洞有多严重,我如何解决它?

我个人不会将角色存储在cookie中,除非从数据库中获取角色时出现严重的性能问题。这完全取决于您,安全性和性能。如果你有银行或健康网站,不要缓存。如果你有一个电子商务商店,缓存不应该是一个大问题。

即使不缓存,Web服务器也应该在每个请求中只调用数据库一次,以进行自动角色检查。如果您从System.Web类中调用GetRoles方法,则它可能会再次调用。


一般来说,您不应向客户发送超出必要范围的信息。

正如奥利弗指出的那样,ASP.NET cookies存在一个弱点。但即使没有已知的弱点,你也不知道什么时候会有人找到。

这是另一种攻击类型:如果你把角色放在cookie中,我就可以监视网络。然后,通过查看数据包的大小,我就可以知道谁拥有哪个角色,或者谁拥有许多角色。然后根据这些信息进行Sosial工程攻击。