在cookie中缓存用户角色是否会成为安全问题?他们可以解密cookie并将其角色更改为Admin
吗?这有什么好办法吗?
答案 0 :(得分:2)
这是一个很好的阅读:
How serious is this new ASP.NET security vulnerability and how can I workaround it?
我个人不会在cookie中存储角色,除非从数据库中获取它们确实存在严重的性能问题。这完全取决于你,安全与性能的关系。如果您有银行或健康站点,请不要缓存。如果你有一个电子商务商店,缓存不应该是一个巨大的问题。
即使您没有缓存,Web服务器也应该每次请求自动角色检查只调用一次数据库。如果从任何System.Web类调用GetRoles方法,它可能会再次调用。
答案 1 :(得分:0)
一般情况下,您不应向客户发送比必要时更多的信息。
asp.net cookie存在一个弱点,正如olivehour指出的那样。但即使没有已知的弱点,你也不知道何时有人会找到它。
这是另一种类型的攻击:如果您将角色放在cookie中,我可以监控网络。然后,只需查看数据包的大小,我就可以确定谁具有哪个角色,或者谁有多个角色。然后根据该信息进行sosial工程攻击。